PHP Code:
#include <amxmodx>
#include <fakemeta>
#include <cstrike>
#include <chatcolor>
#define PLUGIN "HnS Shop"
#define VERSION "1.9"
#define AUTHOR "olafur164 and Hawk and Drekes"
#define fm_get_user_money(%1) get_pdata_int( %1, 115 )
#define cs_get_user_money(%1) get_pdata_int( %1, 115 )
#define MAX_CLIENTS 32
// other pcvars
new plugin_on
// cfg
new cfg[] = "\addons\amxmodx\configs\hnsshopv1.9.cfg"
// cost pcvars
new Antifrostcost;
new userantifrost[33];
new allowantifrost;
native add_user_immune( id )
native remove_user_immune( id )
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_cvar("hnsshop_version", VERSION, FCVAR_SERVER);
set_cvar_string("hnsshop_version", VERSION);
register_event("DeathMsg", "Event_Deathmsg", "a")
plugin_on = register_cvar( "shop_on", "1");
Antifrostcost = register_cvar( "antifrost_cost", "1" );
allowantifrost = register_cvar( "allowantifrost", "1" );
register_clcmd( "say /shop", "hideNseek" );
register_clcmd( "say shop", "hideNseek" );
register_clcmd( "say_team /shop", "hideNseek" );
register_clcmd( "say_team shop", "hideNseek" );
register_clcmd("nightvision","hideNseek");
set_task( 100.0, "advert",_,_,_, "b" );
}
public plugin_cfg()
{
if (!file_exists(cfg))
{
write_file(cfg, "// other cfg");
write_file(cfg, "shop_on 1");
write_file(cfg, "");
write_file(cfg, "");
write_file(cfg, "// Cost cvars");
write_file(cfg, "antifrost_cost 1");
write_file(cfg, "// Allow cvars");
write_file(cfg, "allowantifrost 1");
write_file(cfg, "echo Hns Shop CFG succesfully loaded");
console_print(0, "%s file not found. creating new ...", cfg);
}
else
{
server_cmd("exec %s", cfg);
}
}
public client_connect(id)
{
userantifrost[id] = 0;
}
public client_disconnect(id)
{
userantifrost[id] = 0;
}
public advert()
{
client_print_color(0, DontChange, "^3[Lw. Shop] ^1Click ^4'N' ^1To Open The ^3Shop.");
client_print_color(0, DontChange, "^3[Lw. Shop] ^1This server is running ^3Hide-N-Seek ^4Shop, ^1say ^4/shop ^1or press ^4'N'");
}
public Event_Deathmsg()
{
new victim = read_data(2)
userantifrost[victim] = 0;
}
public hideNseek(id)
{
if(get_pcvar_num(plugin_on) == 1)
{
new szShop[64], szGrav[60];
formatex( szShop, charsmax( szShop ), "\r[\wLw.\r]\r Hide'\wN\r'Seek Shop^n\rYour Cash: \r%d$", cs_get_user_money( id ) );
formatex( szGrav, sizeof(szGrav) - 1, "\wAnti-Frost\r - \r%d$", get_pcvar_num(Antifrostcost));
new iMenu = menu_create( szShop, "shop_handler" );
menu_additem(iMenu, szGrav, "1", 0);
menu_setprop(iMenu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, iMenu);
}
else
{
client_print_color( id, DontChange, "^3[HnS Shop] ^1Shop is currently closed.");
}
return PLUGIN_HANDLED
}
public hideNseek_handler(id, iMenu, item)
{
if( item == MENU_EXIT )
{
menu_destroy( iMenu );
return PLUGIN_HANDLED;
}
new data[6], iName[32];
new access, callback;
menu_item_getinfo(iMenu, item, access, data,5, iName, 31, callback);
new key = str_to_num(data);
switch(key)
{
case 1:
{
if(!is_user_alive(id)) {
client_print_color( 0, DontChange, "^4[Hide'n'Seek Shop] ^1You need to be alive!");
return PLUGIN_HANDLED;
}
if(userantifrost[id] > 0) {
client_print_color( 0, DontChange, "^4[Hide'n'Seek Shop] ^1You already own this item!");
return PLUGIN_HANDLED;
}
if(get_pcvar_num(allowantifrost) == 0) {
client_print_color( 0, DontChange, "^4[Hide'n'Seek Shop] ^1This item is disabled.");
return PLUGIN_HANDLED;
}
new money = fm_get_user_money(id);
new cost = get_pcvar_num(Antifrostcost);
if(money > cost || money == cost) {
fm_get_user_money(id, money - cost);
userantifrost[id]++;
client_print_color( 0, DontChange, "^4[Hide'n'Seek Shop] ^1You purchased ^3Anti-Frost.");
} else {
client_print_color( 0, DontChange, "^4[Hide'n'Seek Shop] ^1You need more ^4money ^1to buy this!");
}
}
}
return PLUGIN_HANDLED;
}