#include <amxmodx>
#include <engine>
#include <nvault>
#include <cstrike>
#include <fun>
#include <fakemeta>
#include <hamsandwich>
#define PLUGIN "usp pontert"
#define VERSION "1.0"
#define AUTHOR "asd"
new oles[33], usp[33], vault
public plugin_precache() {
precache_model("models/USP/alap.mdl")
precache_model("models/USP/ketto.mdl")
precache_model("models/USP/harom.mdl")
precache_model("models/USP/negy.mdl")
precache_model("models/USP/ot.mdl")
}
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("DeathMsg","death","a")
register_clcmd("say /usp","menu")
vault = nvault_open("usp_oles")
register_event("CurWeapon", "ecw", "be", "1=1")
}
public ecw(id)
{
new fegyver = get_user_weapon(id)
if(usp[id] == 0 && fegyver == CSW_USP)
{
set_pev(id, pev_viewmodel2, "models/USP/alap.mdl")
}
if(usp[id] == 1 && fegyver == CSW_USP)
{
set_pev(id, pev_viewmodel2, "models/USP/ketto.mdl")
}
if(usp[id] == 2 && fegyver == CSW_USP)
{
set_pev(id, pev_viewmodel2, "models/USP/harom.mdl")
}
if(usp[id] == 3 && fegyver == CSW_USP)
{
set_pev(id, pev_viewmodel2, "models/USP/negy.mdl")
}
if(usp[id] == 4 && fegyver == CSW_USP)
{
set_pev(id, pev_viewmodel2, "models/USP/ot.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 izehoze[256]
formatex(izehoze, charsmax(izehoze), "\yUSP Menü ^n\wÖléseim: \y%d ^n", oles[id]);
new menu = menu_create( izehoze, "menu_h");
if(oles[id] >= 15)
menu_additem(menu,"\tAlap USP\r[Feloldva]","1",0)
else
menu_additem(menu,"\tAlap USP \r[Feloldva]","1",0)
if(oles[id] >= 35)
menu_additem(menu,"\ySniper USP \r[Feloldva]","2",0)
else
menu_additem(menu,"\dSniper USP [35 Pont]","2",0)
if(oles[id] >= 50)
menu_additem(menu,"\yEros USP \r[Feloldva]","3",0)
else
menu_additem(menu,"\dEros USP [50 Pont]","3",0)
if(oles[id] >= 70)
menu_additem(menu,"\yVarazslatos USP \r[Feloldva]","4",0)
else
menu_additem(menu,"\dVarazslatos USP [70 Pont]","4",0)
if(oles[id] >= 100)
menu_additem(menu,"\yArany USP \r[Feloldva]","5",0)
else
menu_additem(menu,"\dArany USP [100 Pont]","5",0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_setprop(menu, MPROP_BACKNAME, "Vissza");
menu_setprop(menu, MPROP_NEXTNAME, "Következő");
menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
menu_setprop(menu, MPROP_NUMBER_COLOR, "\r");
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:{
if(oles[id] >= 15)
usp[id] = 0
else
client_print(id,print_chat,"Tul keves olesed van")
}
case 2:{
if(oles[id] >= 35)
usp[id] = 1
else
client_print(id,print_chat,"Tul keves olesed van")
}
case 3:{
if(oles[id] >= 50)
usp[id] = 2
else
client_print(id,print_chat,"Tul keves olesed van")
}
case 4:{
if(oles[id] >= 70)
usp[id] = 3
else
client_print(id,print_chat,"Tul keves olesed van")
}
case 5:{
if(oles[id] >= 100)
usp[id] = 4
else
client_print(id,print_chat,"Tul keves olesed 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-USP", name)
format(vaultdata,255,"%i#%i#", oles[id],usp[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-USP", name)
format(vaultdata,255,"%i#%i#",oles[id],usp[id])
nvault_get(vault,vaultkey,vaultdata,255)
replace_all(vaultdata, 255, "#", " ")
new m_o[32], u_o[32]
parse(vaultdata, m_o, 31, u_o, 31)
oles[id] = str_to_num(m_o)
usp[id] = str_to_num(u_o)
return PLUGIN_CONTINUE
}
public client_disconnect(id)
{
mentes(id)
usp[id]=0;
oles[id]=0;
}
public client_connect(id)
{
usp[id]=0;
oles[id]=0;
betoltes(id)
}