PHP Code:
#include <amxmodx>
#include <cstrike>
#include <fun>
#include <engine>
new bool:norecoil[33]
new pcvars[3]
new Messages[][] ={
"Type /buy to open up the buy menu!",
"Now No One Can See You!",
"Now You Have No Recoil!"
}
new Names[][] ={
"",
"Invisibility",
"NoRecoil"
}
public plugin_init() {
register_plugin("Buy_Menu","iMiNDFREAK","v1.8")
pcvars[0] = register_cvar("buy_menu","1")
pcvars[1] = register_cvar("buy_invisibility", "1000")
pcvars[2] = register_cvar("buy_norecoil", "1000")
register_clcmd( "say /buy","ShowBuyMenu")
register_clcmd( "say_team /buy","ShowBuyMenu")
register_event("CurWeapon","Change_Gun","be","1=1")
register_logevent("ResetBonuses", 2, "1=Round_End")
}
public ShowBuyMenu(id)
{
if(get_pcvar_num(pcvars[0]) == 0)
{
client_print(id, print_chat, "")
return PLUGIN_HANDLED
}
new menu = menu_create("Buy Menu" , "buy_handle");
new i=1,nr[3]
new Form[50]
for (i=1; i<sizeof Names; i++)
{
format(nr,2,"%i",i)
format(Form,49,"%s: $%i",Names[i],get_pcvar_num(pcvars[i]))
menu_additem(menu ,Form, nr , 0);
}
menu_setprop(menu , MPROP_EXIT , MEXIT_ALL);
menu_display(id , menu , 0);
return PLUGIN_CONTINUE
}
public buy_handle(id , menu , item)
{
if(item == MENU_EXIT)
{
client_print(id, print_chat, "")
menu_destroy(menu);
}
new szCommand[6] , szName[64];
new access , callback;
menu_item_getinfo(menu , item , access , szCommand , 5 , szName , 63 , callback);
new i = str_to_num(szCommand)
new money = cs_get_user_money(id)
new cost = get_pcvar_num(pcvars[i])
if(money < cost)
{
client_print(id, print_chat, "", cost)
return PLUGIN_HANDLED
}
cs_set_user_money(id, money-cost,1)
client_print(id, print_chat, "",Messages[i])
switch (i){
case 1: set_user_rendering(id,kRenderFxNone, 0,0,0, kRenderTransAdd,30)
case 2:norecoil[id]=true
}
return PLUGIN_HANDLED
}
public Change_Gun(id)
{
if (norecoil[id])
{
entity_set_vector(id, EV_VEC_punchangle, Float:{0.0, 0.0, 0.0})
}
return PLUGIN_CONTINUE
}
public RoundStart(id)
{
norecoil[id]=false
set_user_rendering(id,kRenderFxNone, 0,0,0, kRenderNormal,255)
}