Code:
#include < amxmodx >
#include < amxmisc >
#include < cstrike >
#include < fun >
#include < fakemeta >
#include < fakemeta_util >
#include < hamsandwich >
#include < engine >
#define PLUGIN "[FRAG]Shop"
#define VERSION "1.0"
#define AUTHOR "KillerElite"
new bool:DoiDMG [33];
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd ( "say /shop", "cmdFragShop" );
register_clcmd ( "say_team /shop", "cmdFragShop" );
register_clcmd ( "nightvision", "cmdFragShop" );
register_clcmd ( "nightvision", "cmdFragShop" );
RegisterHam ( Ham_TakeDamage, "player", "TakeDamage" );
register_event ( "DeathMsg", "eDeath", "a" );
}
public cmdFragShop ( id ) {
new menu = menu_create ( "FRAG SHOP:", "give_CmdFragShop" );
menu_additem ( menu, "\y+50HP \r[10 kills]", "1", 0 );
menu_additem ( menu, "\yGrenade Pack \r[15 kills]", "1", 0 );
menu_additem ( menu, "\yInvizibilitate \r[25 kills]", "1", 0 );
menu_additem ( menu, "\yDublu DMG \r[40 kills]", "1", 0 );
menu_additem ( menu, "\yCameleon \r[60 kills]", "1", 0 );
menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL );
menu_display ( id, menu, 0 );
return 1;
}
public give_CmdFragShop ( id, menu, item ) {
if( item == MENU_EXIT )
{
return 1;
}
new data [ 6 ], 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(get_user_frags(id) < 10)
{
client_print(id, print_chat, "[FRAG-SHOP]Nu ai suficiente kill-uri pentru a cumpara acest item!")
menu_destroy ( menu );
return 1;
}
else
{
set_user_health(id, get_user_health(id) + 50)
client_print(id, print_chat, "[FRAG-SHOP]Ai achizitionat +50 HP!")
set_user_frags(id, get_user_frags(id) - 10)
menu_destroy ( menu );
return 1;
}
}
case 2:
{
if(get_user_frags(id) < 15)
{
client_print(id, print_chat, "[FRAG-SHOP]Nu ai suficiente kill-uri pentru a cumpara acest item!")
menu_destroy ( menu );
return 1;
}
else
{
give_item( id, "weapon_flashbang")
give_item( id, "weapon_hegrenade")
give_item( id, "weapon_hegrenade")
give_item( id, "weapon_smokegrenade")
set_user_frags(id, get_user_frags(id) - 15)
client_print(id, print_chat, "[FRAG-SHOP]Ai achizitionat Grenade Pack!")
menu_destroy ( menu );
return 1;
}
}
case 3:
{
if(get_user_frags(id) < 25)
{
client_print(id, print_chat, "[FRAG-SHOP]Nu ai suficiente kill-uri pentru a cumpara acest item!")
menu_destroy ( menu );
return 1;
}
else
{
set_user_frags(id, get_user_frags(id) - 25)
set_user_gravity(id, 0.69);
set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 99);
client_print(id, print_chat, "[FRAG-SHOP]Ai achizitionat invizibilitate!")
menu_destroy ( menu );
return 1;
}
}
case 4:
{
if(get_user_frags(id) < 40)
{
client_print(id, print_chat, "[FRAG-SHOP]Nu ai suficiente kill-uri pentru a cumpara acest item!")
menu_destroy ( menu );
return 1;
}
else
{
if(get_user_team(id) == 1)
{
set_user_frags(id, get_user_frags(id) - 40)
cs_set_user_model ( id, "gign" );
client_print(id, print_chat, "[FRAG-SHOP]Ai achizitionat Cameleon. (Esti deghizat in costumul celeilalte echipe)")
menu_destroy ( menu );
return 1;
}
if(get_user_team(id) == 2)
{
set_user_frags(id, get_user_frags(id) - 40)
cs_set_user_model ( id, "guerilla" );
client_print(id, print_chat, "[FRAG-SHOP]Ai achizitionat Cameleon. (Esti deghizat in costumul celeilalte echipe)")
menu_destroy ( menu );
return 1;
}
}
}
case 5:
{
if(get_user_frags(id) < 60)
{
client_print(id, print_chat, "[FRAG-SHOP]Nu ai suficiente kill-uri pentru a cumpara acest item!")
menu_destroy ( menu );
return 1;
}
else
{
set_user_frags(id, get_user_frags(id) - 60)
DoiDMG[id] = true;
client_print(id, print_chat, "[FRAG-SHOP]Ai achizitionat Dublu Damage!")
menu_destroy ( menu );
return 1;
}
}
}
menu_destroy ( menu );
return 1;
}
public TakeDamage ( iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits )
{
if( iInflictor == iAttacker && DoiDMG [ iAttacker ] && is_user_alive( iAttacker ) )
{
SetHamParamFloat( 4, fDamage * 2.0);
return HAM_HANDLED;
}
return HAM_IGNORED;
}
public eDeath ( )
{
new iVictim = read_data ( 2 );
DoiDMG [ iVictim ] = false;
return 1;
}