- sk-ul sa dispara dupa ce moare jucatorul
- sk-ul sa dispara cand echipa ct castiga
- sk-ul sa dispara cand jucatorul da retry
- | Afiseaza codul
#include <amxmodx> #include <cstrike> #include <fakemeta_util> #include <fun> #include <hamsandwich> #include <colorchat> #define PLUGIN "Jail Break Shop" #define VERSION "1.0" #define AUTHOR "GhosT" native get_user_points( id ) native set_user_points( id, points ) new const szPrefix[] = "[SHOP]" new const sk_model[66] = "models/v_super_knife.mdl" new bool:SK[32]; new bool: HaveSuperKnife[33] public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say /fpshop", "shop") register_clcmd("say_team /fpshop", "shop") register_clcmd("say fpshop", "shop") register_clcmd("say_team fpshop", "shop") register_concmd("fpshop", "shop") register_event("CurWeapon", "CurWeap", "be", "1=1"); RegisterHam(Ham_TakeDamage, "player", "SK_Damage"); } public plugin_precache() { precache_model(sk_model) } public client_putinserver(id) { SK[id] = false } public client_disconnect(id) { client_putinserver(id) } public shop(id) { if(get_user_team(id) == 1) { shop_te(id) } if(get_user_team(id) == 2) { shop_ct(id) } if(!is_user_alive(id)) { ColorChat(id, GREEN, "%s^x03 Nu poti folosi shop-l cand esti mort !", szPrefix) return 1 } return 1 } public shop_te(id) { new menu = menu_create("\yFurien FpShop", "CmdFurienHandler") menu_additem(menu, "Super Knife \y25 points", "1", 0) menu_additem(menu, "50 HP \y10 points", "2", 0) menu_additem(menu, "He Grenade \y20 points", "4", 0) //menu_additem(menu, "50 AP + Halmet \y$500", "4", 0) menu_setprop(menu, MPROP_EXIT, MEXIT_ALL) menu_display(id, menu, 0) } public shop_ct(id) { new menu = menu_create("\yAnti-Furien FpShop", "CmdAntiFurienHandler") menu_additem(menu, "Defuse Kit \y1 points", "1", 0) menu_additem(menu, "50 HP \y10 points", "2", 0) menu_additem(menu, "He Grenade \y20 points", "4", 0) //menu_additem(menu, "50 AP + Halmet \y$500", "4", 0) menu_setprop(menu, MPROP_EXIT, MEXIT_ALL) menu_display(id, menu, 0) } public CmdFurienHandler(id, menu, item) { if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 1) { menu_destroy(menu); return PLUGIN_HANDLED; } new Data[6], Name[64]; new Access, CallBack; menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack); new Key = str_to_num(Data); switch(Key) { case 1: { if(HaveSuperKnife[id]) client_print(id, print_center, "You already have SuperKnife!") else { new points = get_user_points( id ) - 25; if( points < 0 ) client_print(id, print_center, "You have insufficient founds!") else { HaveSuperKnife[id] = true; ColorChat(id, GREEN, "%s^x03 Ai cumparat^x04 Super Knife^x03 !", szPrefix) set_user_points( id, points ); SK[id] = true; CurWeap(id) } } } case 2: { if(get_user_health(id) >= 250) client_print(id, print_center, "You already have 250 HP!") else { new points = get_user_points( id ) - 10; if( points < 0 ) client_print(id, print_center, "You have insufficient founds!") else { if(get_user_health(id) + 50 > 250) fm_set_user_health(id, 250) else fm_set_user_health(id, get_user_health(id) + 50) set_user_points( id, points ); } } } case 3: { if(get_user_armor(id) >= 250) client_print(id, print_center, "You already have 250 AP!") else { new Money = cs_get_user_money(id) - 500 if(Money < 0) client_print(id, print_center, "You have insufficient founds!") else { if(get_user_armor(id) + 50 > 250) fm_set_user_armor(id, 250) else fm_set_user_armor(id, get_user_armor(id) + 50) cs_set_user_money(id, Money) } } } case 4: { if(user_has_weapon(id, CSW_HEGRENADE)) client_print(id, print_center, "You already have HE GRENADE!") else { new points = get_user_points( id ) - 20; if( points < 0 ) client_print(id, print_center, "You have insufficient founds!") else { fm_give_item(id, "weapon_hegrenade") set_user_points( id, points ); } } } } menu_destroy(menu) return PLUGIN_HANDLED } public CmdAntiFurienHandler(id, menu, item) { if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) { menu_destroy(menu); return PLUGIN_HANDLED; } new Data[6], Name[64]; new Access, CallBack; menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack); new Key = str_to_num(Data); switch(Key) { case 1: { if(cs_get_user_defuse(id)) client_print(id, print_center, "You already have Defuse KIT!") else { new points = get_user_points( id ) - 1; if( points < 0 ) client_print(id, print_center, "You have insufficient founds!") else { cs_set_user_defuse(id, 1) set_user_points( id, points ); } } } case 2: { if(get_user_health(id) >= 250) client_print(id, print_center, "You already have 250 HP!") else { new points = get_user_points( id ) - 10; if( points < 0 ) client_print(id, print_center, "You have insufficient founds!") else { if(get_user_health(id) + 50 > 250) fm_set_user_health(id, 250) else fm_set_user_health(id, get_user_health(id) + 50) set_user_points( id, points ); } } } case 3: { if(get_user_armor(id) >= 250) client_print(id, print_center, "You already have 250 AP!") else { new Money = cs_get_user_money(id) - 500 if(Money < 0) client_print(id, print_center, "You have insufficient founds!") else { if(get_user_armor(id) + 50 > 250) fm_set_user_armor(id, 250) else fm_set_user_armor(id, get_user_armor(id) + 50) cs_set_user_money(id, Money) } } } case 4: { if(user_has_weapon(id, CSW_HEGRENADE)) client_print(id, print_center, "You already have HE GRENADE!") else { new points = get_user_points( id ) - 20; if( points < 0 ) client_print(id, print_center, "You have insufficient founds!") else { fm_give_item(id, "weapon_hegrenade") set_user_points( id, points ); } } } } menu_destroy(menu) return PLUGIN_HANDLED } public CurWeap(id) { if(get_user_weapon(id) == CSW_KNIFE && SK[id]) { set_pev(id, pev_viewmodel2, sk_model) } } public SK_Damage(iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits) { if(get_user_weapon(iAttacker) == CSW_KNIFE && SK[iAttacker]) { SetHamParamFloat( 4, fDamage * 2.5); return HAM_HANDLED; } return HAM_IGNORED; }