1- you don't give all information like price .... etc
PHP Code:
//Generated By : Smart Shop Generator By EaGle
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <hamsandwich>
#define PLUGIN "Shop Menu"
#define VERSION "1.0"
#define AUTHOR "Me"
new g_iBlinkAcct;
new bool:g_CanUse[33]
new g_szItems[][] = {
"100 Extra HP",
"100 Extra armor",
"ivisibility",
"Low gravity",
"Bomber (you get 10x HE)",
"Faster Speed",
"Silent Footsteps",
"All Grenades",
"Double Damage",
"Armor Regeneration",
"GodMode",
"Health Regeneration",
"Transparency",
"Chameleon"
}
new g_iItemsPrices[] ={
1000, //Price Of 100 Extra HP
1000, //Price Of 100 Extra armor
3000, //Price Of ivisibility
4000, //Price Of Low gravity
12000, //Price Of Bomber
8000, //Price Of Faster Speed
2000, //Price Of Silent Footsteps
15000, //Price Of All Grenades
6000, //Price Of Double Damage
3000, //Price Of Armor Regeneration
9000, //Price Of GodMode
7000, //Price Of Health Regeneration
8000, //Price Of Transparency
3000, //Price Of Chameleon
}
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
g_iBlinkAcct = get_user_msgid("BlinkAcct")
register_clcmd("say /shop","cmd_shop")
RegisterHam ( Ham_TakeDamage, "player", "fw_PlayerTakeDamage_Post", 1 )
}
public cmd_shop(id)
{
new Temp[101], money = cs_get_user_money(id)
formatex(Temp,100, "Shop Menu");
new menu = menu_create(Temp,"shop_handler")
new szItemName[64]
for(new i; i<sizeof(g_szItems) && i<sizeof(g_iItemsPrices); i++)
{
if( money < g_iItemsPrices[i] )
{
formatex(szItemName, charsmax(szItemName),"\d%s ($%d)", g_szItems[ i ], g_iItemsPrices[ i ])
}
else
{
formatex(szItemName, charsmax(szItemName),"%s (\r$%d\w)", g_szItems[ i ], g_iItemsPrices[ i ])
}
menu_additem(menu, szItemName)
}
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, menu, 0);
return PLUGIN_HANDLED
}
public shop_handler(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new money = cs_get_user_money(id);
new new_money = cs_get_user_money(id) - g_iItemsPrices[item];
if( money < g_iItemsPrices[item] )
{
NotEnoughMoney( id );
menu_display(id, menu);
return PLUGIN_HANDLED;
}
switch(item)
{
case 0:
{
client_print(id, print_chat,"You Bought %s For %d $", g_szItems[item],g_iItemsPrices[item]);
set_user_health(id,get_user_health(id) + 100);
cs_set_user_money(id, new_money);
}
case 1:
{
client_print(id, print_chat,"You Bought %s For %d $", g_szItems[item],g_iItemsPrices[item]);
set_user_armor(id,get_user_armor(id) + 100);
cs_set_user_money(id, new_money);
}
case 2:
{
client_print(id, print_chat,"You Bought %s For %d $", g_szItems[item],g_iItemsPrices[item]);
set_user_rendering( id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 24 );
cs_set_user_money(id, new_money);
}
case 3:
{
client_print(id, print_chat,"You Bought %s For %d $", g_szItems[item],g_iItemsPrices[item]);
set_user_gravity( id, 0.6 );
cs_set_user_money(id, new_money);
}
case 4:
{
client_print(id, print_chat,"You Bought %s For %d $", g_szItems[item],g_iItemsPrices[item]);
give_item(id,"weapon_hegrenade");
cs_set_user_bpammo(id,CSW_HEGRENADE, 10 );
cs_set_user_money(id, new_money);
}
case 5:
{
client_print(id, print_chat,"You Bought %s For %d $", g_szItems[item],g_iItemsPrices[item]);
set_user_maxspeed(id, 600.0)
cs_set_user_money(id, new_money);
}
case 6:
{
client_print(id, print_chat,"You Bought %s For %d $", g_szItems[item],g_iItemsPrices[item]);
set_user_footsteps(id,1)
cs_set_user_money(id, new_money);
}
case 7:
{
client_print(id, print_chat,"You Bought %s For %d $", g_szItems[item],g_iItemsPrices[item]);
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_smokegrenade")
give_item(id, "weapon_flashbang")
cs_set_user_money(id, new_money);
}
case 8:
{
client_print(id, print_chat,"You Bought %s For %d $", g_szItems[item],g_iItemsPrices[item]);
g_CanUse[id] = true
cs_set_user_money(id, new_money);
}
case 9:
{
client_print(id, print_chat,"You Bought %s For %d $", g_szItems[item],g_iItemsPrices[item]);
set_task(1.0,"reg_armor",id)
cs_set_user_money(id, new_money);
}
case 10:
{
client_print(id, print_chat,"You Bought %s For %d $", g_szItems[item],g_iItemsPrices[item]);
set_user_godmode(id,1)
cs_set_user_money(id, new_money);
}
case 11:
{
client_print(id, print_chat,"You Bought %s For %d $", g_szItems[item],g_iItemsPrices[item]);
set_task(1.0,"reg_health",id)
cs_set_user_money(id, new_money);
}
case 12:
{
client_print(id, print_chat,"You Bought %s For %d $", g_szItems[item],g_iItemsPrices[item]);
set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 38)
cs_set_user_money(id, new_money);
}
case 13:
{
client_print(id, print_chat,"You Bought %s For %d $", g_szItems[item],g_iItemsPrices[item]);
//....
cs_set_user_money(id, new_money);
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public reg_armor(id)
{
set_user_armor(id,get_user_armor(id) + 10);
set_task(5.0,"reg_armor",id)
}
public reg_health(id)
{
set_user_health(id,get_user_health(id) + 10);
set_task(5.0,"reg_health",id)
}
public fw_PlayerTakeDamage_Post ( Victim, Inflictor, Attacker, Float:Damage, Dmg_Bits )
{
if ( !is_user_connected ( Attacker ) || !is_user_connected ( Victim ) )
return
if ( !g_CanUse [ Attacker ] )
return
SetHamParamFloat ( 4, Damage * 2.0 )
}
NotEnoughMoney(id)
{
client_print(id, print_center,"#Cstrike_TitlesTXT_Not_Enough_Money");
message_begin(MSG_ONE_UNRELIABLE, g_iBlinkAcct, .player=id);
{
write_byte(2);
}
message_end();
}