Ребята помогите дописать код плагина, как в CSDM меню
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <fakemeta>
#include <hamsandwich>
#define OFFSET_CSMONEY 115
new SayTxT
new bool: alr_choose[33] = false;
public plugin_init()
{
register_clcmd(\"menu_halava\", \"function_point\", ADMIN_ALL,\"\")
SayTxT = get_user_msgid(\"SayText\");
RegisterHam(Ham_Spawn, \"player\", \"bacon_spawn\", 1)
register_plugin(\"halava\", \"1.0\", \"neverminde111\")
register_event(\"HLTV\", \"choose_event\", \"a\", \"1=0\", \"2=0\")
register_message(get_user_msgid(\"Money\"), \"MessageMoney\");
register_message(get_user_msgid(\"HideWeapon\"), \"MessageHideWeapon\");
}
public MessageMoney(msgid, dest, id)
{
set_pdata_int(id, OFFSET_CSMONEY, 0);
set_msg_arg_int(1, ARG_LONG, 0);
}
public MessageHideWeapon(msgid, dest, id)
{
set_msg_arg_int(1, ARG_BYTE, get_msg_arg_int(1) | (1<<5));
}
public choose_event(id)
{
new i
for (i=0;i<33;i++)
{
alr_choose[i]=false
}
}
public function_point(id)
{
if (!is_user_alive(id))
return
if (alr_choose[id] ==false)
{
set_task(0.1, \"halava_menu\", id)
}
else
{
client_print(id, print_chat, \"[Guns menu] Вы уже сделали свой выбор !\")
client_print(id, print_chat, \"[Guns menu] Вы уже сделали свой выбор !\")
}
}
public client_connect(client)
{
alr_choose[client] = false
}
public client_putinserver(iPlayer)
{
alr_choose[iPlayer] = false
set_task(0.5,\"bind_keys\",iPlayer,_,_,\"a\",7)
}
public bind_keys(iPlayer)
{
client_cmd(iPlayer,\"bind F3 menu_halava\")
}
public bacon_spawn(id)
{
if (!is_user_alive(id))
return
strip_user_weapons(id)
give_item(id, \"weapon_knife\")
client_cmd(id, \"menu_halava\")
}
public halava_menu(id)
{
if(!is_user_alive(id))
return PLUGIN_HANDLED
if ( alr_choose[id] == true )
return PLUGIN_HANDLED
new gmenu = menu_create(\"\\yВыбери оружие\" , \"Menu_Handler\");
menu_additem(gmenu ,\"\\yM4A1+Deagle+Броня+\\rГренка+Флешка\", \"1\" , 0);
menu_additem(gmenu ,\"\\yAK-47+Deagle+Броня+\\rГренка+Флешка\", \"2\" , 0);
menu_additem(gmenu ,\"\\yAWP+Deagle+Броня+\\rГренка+Флешка\", \"3\" , 0);
menu_additem(gmenu ,\"\\yFamas+Deagle+Броня+\\rГренка+Флешка\", \"4\" , 0);
menu_additem(gmenu ,\"\\yGalil+Deagle+Броня+\\rГренка+Флешка\", \"5\" , 0);
menu_setprop(gmenu , MPROP_EXIT , MEXIT_ALL);
menu_display(id , gmenu , 0);
return PLUGIN_CONTINUE
}
public Menu_Handler(id, gmenu, item, player)
{
if (item == MENU_EXIT)
{
menu_destroy(gmenu)
return PLUGIN_HANDLED
}
alr_choose[id] = true
new data[6], iName[64]
new access, callback
menu_item_getinfo(gmenu, item, access, data, 5, iName, 63, callback)
new key = str_to_num(data)
switch(key)
{
case 1:
{
give_item(id, \"weapon_m4a1\")
cs_set_user_bpammo( id, CSW_M4A1, 90 );
give_item(id, \"weapon_deagle\")
cs_set_user_bpammo( id, CSW_DEAGLE, 35 );
cs_set_user_armor ( id, 100, CS_ARMOR_VESTHELM );
give_item( id, \"weapon_hegrenade\" )
give_item( id, \"weapon_flashbang\" )
client_printcolor(id, \"/ctr[Guns menu]:/gM4A1/y+/gdeagle/y+/ctrHE granade+flashband\")
}
case 2:
{
give_item(id, \"weapon_ak47\")
cs_set_user_bpammo( id, CSW_AK47, 90 );
give_item(id, \"weapon_deagle\")
cs_set_user_bpammo( id, CSW_DEAGLE, 35 );
cs_set_user_armor ( id, 100, CS_ARMOR_VESTHELM );
give_item( id, \"weapon_hegrenade\" )
give_item( id, \"weapon_flashbang\" )
client_printcolor(id, \"/ctr[Guns menu]:/gAK47/y+/gdeagle/y+/ctrHE granade+flashband\")
}
case 3:
{
give_item(id, \"weapon_awp\")
cs_set_user_bpammo( id, CSW_AWP, 30 );
give_item(id, \"weapon_deagle\")
cs_set_user_bpammo( id, CSW_DEAGLE, 35 );
cs_set_user_armor ( id, 100, CS_ARMOR_VESTHELM );
give_item( id, \"weapon_hegrenade\" )
give_item( id, \"weapon_flashbang\" )
client_printcolor(id, \"/ctr[Guns menu]:/gAWP/y+/gdeagle/y+/ctrHE granade+flashband\")
}
case 4:
{
give_item(id, \"weapon_famas\")
cs_set_user_bpammo( id, CSW_M4A1, 90 );
give_item(id, \"weapon_deagle\")
cs_set_user_bpammo( id, CSW_DEAGLE, 35 );
cs_set_user_armor ( id, 100, CS_ARMOR_VESTHELM );
give_item( id, \"weapon_hegrenade\" )
give_item( id, \"weapon_flashbang\" )
client_printcolor(id, \"/ctr[Guns menu]:/gFamas/y+/gdeagle/y+/ctrHE granade+flashband\")
}
case 5:
{
give_item(id, \"weapon_galil\")
cs_set_user_bpammo( id, CSW_M4A1, 90 );
give_item(id, \"weapon_deagle\")
cs_set_user_bpammo( id, CSW_DEAGLE, 35 );
cs_set_user_armor ( id, 100, CS_ARMOR_VESTHELM );
give_item( id, \"weapon_hegrenade\" )
give_item( id, \"weapon_flashbang\" )
client_printcolor(id, \"/ctr[Guns menu]:/gGalil/y+/gdeagle/y+/ctrHE granade+flashband\")
}
}
menu_destroy(gmenu)
return PLUGIN_HANDLED;
}
stock client_printcolor(const id, const input[], any:...)
{
new count = 1, players[32];
static msg[191];
vformat(msg,190,input,3);
replace_all(msg,190,\"/g\",\"^4\");// green txt
replace_all(msg,190,\"/y\",\"^1\");// orange txt
replace_all(msg,190,\"/ctr\",\"^3\");// team txt
replace_all(msg,190,\"/w\",\"^0\");// team txt
if (id) players[0] = id; else get_players(players,count,\"ch\");
for (new i = 0; i < count; i++)
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, SayTxT, _, players[i]);
write_byte(players[i]);
write_string(msg);
message_end();
}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\\\ rtf1\\\\ ansi\\\\ deff0{\\\\ fonttbl{\\\\ f0\\\\ fnil Tahoma;}}\\n\\\\ viewkind4\\\\ uc1\\\\ pard\\\\ lang5129\\\\ f0\\\\ fs16 \\n\\\\ par }
*/
Отредактировал: joker_burn, - 9.2.2012, 22:25