Вроде правильно все сделал, но в меню не заходит(
- Код: Выделить всё
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
const m_LastHitGroup = 75
const KEYSMENU = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_8|MENU_KEY_9|MENU_KEY_0
const PRIMARY_WEAPONS_BIT_SUM =
(1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<
CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)
const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE)
new g_msgSayText, g_maxplayers
new can_take[33]
public plugin_init()
{
register_plugin("VIP Bio", "1.0", "ill")
register_event("HLTV", "on_new_round", "a", "1=0", "2=0")
register_plugin("Menu","1.0","Coolzm.net");
register_clcmd("guns","press_vm");
register_menu("VIP Weapon", KEYSMENU, "weapon_menu")
}
public on_new_round()
{
remove_task(1337)
set_task(20.0, "not_take", 1337)
for (new id = 1; id <= g_maxplayers; id++)
{
can_take[id] = 2
}
}
public not_take()
{
for (new id = 1; id <= g_maxplayers; id++)
{
can_take[id] = 0
}
}
public press_vm(id)
{
if(!isVIP(id))
{
colored_print(id, "^x04[ ^x03ONLY FOR VIP ^x04]^x01 buy VIP account here: ^x03www.Coolzm.net")
return PLUGIN_HANDLED
}
show_vip_menu(id)
return PLUGIN_HANDLED
}
public press_wm(id)
{
if(can_take[id] <= 0)
{
colored_print(id, "^x01[^x04Weapons^x01] ^x03Доступно на протяжении 20 секунд")
return PLUGIN_HANDLED
}
if(!is_user_alive(id))
{
colored_print(id, "^x01[^x04VIPmenu^x01] ^x03Меню доступно только для живых игроков!")
return PLUGIN_HANDLED
}
weapon_menu(id)
return PLUGIN_HANDLED
}
public show_vip_menu(id)
{
static menu[450], len
len = 0
len += formatex(menu[len], charsmax(menu) - len, "\yVIP ??????^n^n")
len += formatex(menu[len], charsmax(menu) - len, "\r1.\w M4A1 Carbine^n")
len += formatex(menu[len], charsmax(menu) - len, "\r2.\w AK-47 Kalashnikov^n")
len += formatex(menu[len], charsmax(menu) - len, "\r3.\w AWP Magnum^n")
len += formatex(menu[len], charsmax(menu) - len, "\r4.\w SG552 Snipers^n")
len += formatex(menu[len], charsmax(menu) - len, "^n^n\r0.\w ?????")
show_menu(id, KEYSMENU, menu, -1, "VIP Weapon")
}
public weapon_menu(id, key)
{
switch (key)
{
case 0:
{
if(can_take[id] <= 0)
{
colored_print(id, "^x01[^x04Weapons^x01] ^x03Доступно на протяжении 20 секунд")
return PLUGIN_HANDLED
}
drop_weapons(id, 1)
give_item(id,"weapon_m4a1")
cs_set_user_bpammo(id, CSW_M4A1, 90)
can_take[id]--
}
case 1:
{
if(can_take[id] <= 0)
{
colored_print(id, "^x01[^x04Weapons^x01] ^x03Доступно на протяжении 20 секунд")
return PLUGIN_HANDLED
}
drop_weapons(id, 1)
give_item(id,"weapon_ak47")
cs_set_user_bpammo(id, CSW_AK47, 90)
can_take[id]--
}
case 2:
{
if(can_take[id] <= 0)
{
colored_print(id, "^x01[^x04Weapons^x01] ^x03Доступно на протяжении 20 секунд")
return PLUGIN_HANDLED
}
drop_weapons(id, 1)
give_item(id,"weapon_awp")
cs_set_user_bpammo(id, CSW_AWP, 30)
can_take[id]--
}
case 3:
{
if(can_take[id] <= 0)
{
colored_print(id, "^x01[^x04Weapons^x01] ^x03Доступно на протяжении 20 секунд")
return PLUGIN_HANDLED
}
drop_weapons(id, 1)
give_item(id,"weapon_sg550")
can_take[id]--
}
case 4:
{
if(can_take[id] <= 0)
{
colored_print(id, "^x01[^x04Weapons^x01] ^x03Доступно на протяжении 20 секунд")
return PLUGIN_HANDLED
}
drop_weapons(id, 1)
give_item(id,"weapon_m249")
can_take[id]--
}
}
return PLUGIN_HANDLED
}
public isVIP(id)
{
return get_user_flags(id) & ADMIN_RESERVATION
}
stock drop_weapons(id, dropwhat)
{
static weapons[32], num, i, weaponid
num = 0
get_user_weapons(id, weapons, num)
for (i = 0; i < num; i++)
{
weaponid = weapons[i]
if ((dropwhat == 1 && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM)) || (dropwhat == 2 && ((1<<weaponid) & SECONDARY_WEAPONS_BIT_SUM)))
{
static wname[32]
get_weaponname(weaponid, wname, sizeof wname - 1)
engclient_cmd(id, "drop", wname)
}
}
}
stock colored_print( target, const message[], any:... )
{
static buffer[ 512 ]
if( !target )
{
static player
for( player = 1; player <= g_maxplayers; player++ )
{
if ( !is_user_connected( player ) )
continue;
vformat( buffer, charsmax( buffer ), message, 3 )
message_begin( MSG_ONE_UNRELIABLE, g_msgSayText, _, player )
write_byte( player )
write_string( buffer )
message_end()
}
}
else
{
vformat( buffer, charsmax( buffer ), message, 3 )
message_begin( MSG_ONE, g_msgSayText, _, target )
write_byte( target )
write_string( buffer )
message_end()
}
}
Вы должны зарегистрироваться, чтобы видеть ссылки., тема закрыта // Subb98