it doesn't work ... all the items appear but when you buy nothing happens ..maybe it's from cvars
PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <fakemeta>
#include <hamsandwich>
#include <fun>
#include <cstrike>
#define PLUGIN "Shop"
#define VERSION "1.1"
#define AUTHOR "Darksmith"
#pragma semicolon 1
new g_iMenu, gmsgBlinkAcct, g_iMaxPlayers;
enum _:playerTasks ( += 33 )
{
TASK_PLAYER_REMOVE_GODMODE,
TASK_PLAYER_REMOVE_INVIS,
TASK_PLAYER_REMOVE_NOCLIP
}
enum Datas
{
m_szName[32],
m_iCost
}
new const g_mItems[][Datas] =
{
{"No Clip \r30 Seconds", 4000},
{"Godmode \r20 Seconds", 3500},
{"Invisibility \r40 Seconds", 6000},
{"500 Health and Armor \r1 Round", 5000},
{"Speed and Gravity \r1 Round", 3000}
};
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_clcmd("say /lm", "shop");
register_clcmd("say /shop", "shop");
register_event("HLTV", "Event_HLTV_New_Round", "a", "1=0", "2=0");
CreateMenu();
gmsgBlinkAcct = get_user_msgid("BlinkAcct");
}
public Event_HLTV_New_Round()
{
for(new id = 1; id<=g_iMaxPlayers; id++)
{
remove_task( id + TASK_PLAYER_REMOVE_GODMODE );
remove_task( id + TASK_PLAYER_REMOVE_INVIS );
remove_task( id + TASK_PLAYER_REMOVE_NOCLIP );
Task_Remove_Noclip( id );
Task_Remove_GodMode( id );
Task_Remove_Invis( id );
}
}
CreateMenu()
{
g_iMenu = menu_create( "\wShop Menu \R\y$", "ShopMenuHandler" );
new szItem[64];
for(new i; i<sizeof(g_mItems); i++)
{
formatex(szItem, charsmax(szItem), "%s\R\y%d", g_mItems[i][m_szName], g_mItems[i][m_iCost]);
menu_additem(g_iMenu, szItem);
}
}
public shop(id)
{
if(is_user_alive(id))
{
menu_display(id, g_iMenu);
}
}
public ShopMenuHandler(id, menu, item )
{
if(item >=0 && is_user_alive(id))
{
new newMoney = cs_get_user_money(id) - g_mItems[item][m_iCost];
if( newMoney <= 0 )
{
client_print(id, print_chat, "Sorry ,You Don't have Enught Money");
message_begin(MSG_ONE, gmsgBlinkAcct, _, id);
{
write_byte(2);
}
message_end();
return;
}
cs_set_user_money(id, newMoney);
switch(item)
{
case 0:
{
set_user_noclip(id, 1);
set_task(30.0, "Task_Remove_Noclip", id + TASK_PLAYER_REMOVE_NOCLIP);
client_print(id, print_chat, "You Have Bought No Clip for 30 Seconds");
}
case 1:
{
set_user_godmode(id, 1);
set_task(20.0, "Task_Remove_GodMode", id + TASK_PLAYER_REMOVE_GODMODE);
client_print(id, print_chat, "You Have Bought Godmode for 20 Seconds");
}
case 2:
{
set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha);
set_task(40.0, "Task_Remove_Invis", id + TASK_PLAYER_REMOVE_INVIS);
client_print(id, print_chat, "You Have Bought Invisibilty for 40 Seconds");
}
case 3:
{
set_user_health(id, 500);
cs_set_user_armor(id, 500, CS_ARMOR_VESTHELM);
client_print(id, print_chat, "You Have Buy 500 Armor + Health");
}
case 4:
{
set_user_maxspeed(id, 500.0);
set_user_gravity(id, 0.2);
client_print(id, print_chat, "You Have Buy Speed and Gravity");
}
}
}
}
public Task_Remove_Noclip( id )
{
id %= 33;
if( is_user_connected(id) )
{
set_user_noclip(id, 0);
}
}
public Task_Remove_GodMode( id )
{
id %= 33;
if( is_user_connected(id) )
{
set_user_godmode(id, 0);
}
}
public Task_Remove_Invis( id )
{
id %= 33;
if( is_user_connected(id) )
{
set_user_rendering(id, _, 0, 0, 0, _, 0);
}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1036\\ f0\\ fs16 \n\\ par }
*/
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1036\\ f0\\ fs16 \n\\ par }
*/