#include <amxmodx>
#include <engine>
#include <nvault>
#include <cstrike>
#include <fun>
#include <fakemeta>
#include <hamsandwich>
#include <colorchat>
#define PLUGIN "Kes olesert"
#define VERSION "1.0"
#define AUTHOR "DeRoiD"
new oles[33], kes[33], vault
new kes1[121]
new kes2[121]
new kes3[121]
new kes4[121]
new kes5[121]
new kes6[121]
new kes7[121]
public plugin_precache()
{
precache_model("models/v_knife.mdl")
precache_model("models/peknife/tuz_kes.mdl")
precache_model("models/peknife/tuzkard.mdl")
precache_model("models/peknife/uto.mdl")
precache_model("models/peknife/vadasz.mdl")
precache_model("models/peknife/veres.mdl")
precache_model("models/peknife/veresfa.mdl")
precache_model("models/peknife/zseb.mdl")
}
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("DeathMsg","death","a")
register_clcmd("say /kes","menu")
register_clcmd("say /kesek","menu")
register_clcmd("say /knife","menu")
register_clcmd("say /adas", "adas")
register_clcmd("say /elveves", "elveves")
vault = nvault_open("ujkesek")
register_event("CurWeapon", "ecw", "be", "1=1")
}
public ecw(id)
{
new fegyver = get_user_weapon(id)
if(kes[id] == 0 && fegyver == CSW_KNIFE)
set_pev(id, pev_viewmodel2, "models/v_knife.mdl")
if(kes[id] == 1 && fegyver == CSW_KNIFE)
set_pev(id, pev_viewmodel2, "models/peknife/tuz_kes.mdl")
if(kes[id] == 2 && fegyver == CSW_KNIFE)
set_pev(id, pev_viewmodel2, "models/peknife/tuzkard.mdl")
if(kes[id] == 3 && fegyver == CSW_KNIFE)
set_pev(id, pev_viewmodel2, "models/peknife/uto.mdl")
if(kes[id] == 4 && fegyver == CSW_KNIFE)
set_pev(id, pev_viewmodel2, "models/peknife/vadasz.mdl")
if(kes[id] == 5 && fegyver == CSW_KNIFE)
set_pev(id, pev_viewmodel2, "models/peknife/veres.mdl")
if(kes[id] == 6 && fegyver == CSW_KNIFE)
set_pev(id, pev_viewmodel2, "models/peknife/veresfa.mdl")
if(kes[id] == 7 && fegyver == CSW_KNIFE)
set_pev(id, pev_viewmodel2, "models/peknife/zseb.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 menu(id)
{
new cim[121]
format(cim, charsmax(cim), "\y.:*|P|eac|E|*:. Kesek")
new menu = menu_create(cim, "menu_h" )
format(kes1, charsmax(kes1), ".:*|P|eac|E|*:. kes 2 \r[%d/200 Oles]",oles[id])
format(kes2, charsmax(kes2), ".:*|P|eac|E|*:. kes 3 \r[%d/400 Oles]",oles[id])
format(kes3, charsmax(kes2), ".:*|P|eac|E|*:. kes 4 \r[%d/600 Oles]",oles[id])
format(kes4, charsmax(kes4), ".:*|P|eac|E|*:. kes 5 \r[%d/1000 Oles]",oles[id])
format(kes5, charsmax(kes5), ".:*|P|eac|E|*:. kes 6 \r[%d/1800 Oles]",oles[id])
format(kes6, charsmax(kes6), ".:*|P|eac|E|*:. kes 7 \r[%d/2000 Oles]",oles[id])
format(kes7, charsmax(kes7), ".:*|P|eac|E|*:. kes 8 \r[%d/4000 Oles]",oles[id])
menu_additem(menu,"\y.:*|P|eac|E|*:. kes 1\r [Megszerezve] ","1",0)
if(oles[id] >= 0)
menu_additem(menu,"\y.:*|P|eac|E|*:. kes 2\r [Megszerezve]","2",0)
else
menu_additem(menu, kes1, "2", 0);
if(oles[id] >= 0)
menu_additem(menu,"\y.:*|P|eac|E|*:. kes 3\r [Megszerezve]","3",0)
else
menu_additem(menu, kes2, "3", 0);
if(oles[id] >= 0)
menu_additem(menu,"\y.:*|P|eac|E|*:. kes 4\r [Megszerezve]","4",0)
else
menu_additem(menu, kes3, "4", 0);
if(oles[id] >= 0)
menu_additem(menu,"\y.:*|P|eac|E|*: kes 5\r [Megszerezve]","5",0)
else
menu_additem(menu, kes4, "5", 0);
if(oles[id] >= 0)
menu_additem(menu,"\y.:*|P|eac|E|*:. kes 6\r [Megszerezve]","6",0)
else
menu_additem(menu, kes5, "6", 0);
if(oles[id] >= 0)
menu_additem(menu,"\y.:*|P|eac|E|*:. kes 7\r [Megszerezve]","7",0)
else
menu_additem(menu, kes6, "7", 0);
if(oles[id] >= 0)
menu_additem(menu,"\y.:*|P|eac|E|*:. kes 8\r [Megszerezve]","8",0)
else
menu_additem(menu, kes7, "8", 0);
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
}
public menu_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:
{
kes[id] = 0
}
case 2:
{
if(oles[id] >= 0)
kes[id] = 1
else
client_print(id,print_chat,"[.:[*|P|eac|E|*:.] Túl kevés ölésed van!")
}
case 3:
{
if(oles[id] >= 0)
kes[id] = 2
else
client_print(id,print_chat,"[.:[*|P|eac|E|*:.] Túl kevés ölésed van!")
}
case 4:
{
if(oles[id] >= 0)
kes[id] = 3
else
client_print(id,print_chat,"[.:[*|P|eac|E|*:.] Túl kevés ölésed van!")
}
case 5:
{
if(oles[id] >= 0)
kes[id] = 4
else
client_print(id,print_chat,"[.:[*|P|eac|E|*:.] Túl kevés ölésed van!")
}
case 6:
{
if(oles[id] >= 0)
kes[id] = 5
else
client_print(id,print_chat,"[.:[*|P|eac|E|*:.] Túl kevés ölésed van!")
}
case 7:
{
if(oles[id] >= 0)
kes[id] = 6
else
client_print(id,print_chat,"[.:[*|P|eac|E|*:.] Túl kevés ölésed van!")
}
case 8:
{
if(oles[id] >= 0)
kes[id] = 7
else
client_print(id,print_chat,"[.:[*|P|eac|E|*:.] Túl kevés ölésed van!")
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public mentes(id)
{
new vaultkey[64],vaultdata[256], name[32]
get_user_name(id, name, 31)
format(vaultkey,63,"%s-KES", name)
format(vaultdata,255,"%i#%i#", oles[id],kes[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-KES", name)
format(vaultdata,255,"%i#%i#",oles[id],kes[id])
nvault_get(vault,vaultkey,vaultdata,255)
replace_all(vaultdata, 255, "#", " ")
new m_o[32], k_o[32]
parse(vaultdata, m_o, 31, k_o, 31)
oles[id] = str_to_num(m_o)
kes[id] = str_to_num(k_o)
return PLUGIN_CONTINUE
}
public client_disconnect(id)
{
mentes(id)
}
public client_connect(id)
{
betoltes(id)
}
public adas(id)
{
if (get_user_flags(id) & ADMIN_KICK)
{
new menu = menu_create("\y [Kesrendszer] \rKinek akarsz olest adni?! \y(10p)", "menu_handler")
new players[32], pnum, tempid
new szName[32], szTempid[10]
get_players(players, pnum)
for( new i; i<pnum; i++ )
{
tempid = players[i];
get_user_name(tempid, szName, charsmax(szName))
num_to_str(tempid, szTempid, charsmax(szTempid))
menu_additem(menu, szName, szTempid, 0)
}
menu_display(id, menu, 0)
}
else
{
ColorChat(id, RED, "Sajnos nincs jogod hasznalni ezt a parancsot!")
}
}
public menu_handler(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], szName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
new tempid = str_to_num(data);
if( is_user_alive(tempid) )
{
oles[tempid] += 10
}
client_cmd(id,"oles_adas")
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public elveves(id)
{
if (get_user_flags(id) & ADMIN_KICK)
{
new menu = menu_create("\y [Kesrendszer] \rKitol akarsz olest elveni?! \y(10p)", "elveves_handler")
new players[32], pnum, tempid
new szName[32], szTempid[10]
get_players(players, pnum)
for( new i; i<pnum; i++ )
{
tempid = players[i];
get_user_name(tempid, szName, charsmax(szName))
num_to_str(tempid, szTempid, charsmax(szTempid))
menu_additem(menu, szName, szTempid, 0)
}
menu_display(id, menu, 0)
}
else
{
ColorChat(id, RED, "Sajnos nincs jogod hasznalni ezt a parancsot!")
}
}
public elveves_handler(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], szName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
new tempid = str_to_num(data);
if( is_user_alive(tempid) )
{
oles[tempid] -= 10
}
client_cmd(id,"oles_elveves")
menu_destroy(menu);
return PLUGIN_HANDLED;
}