Нашел какой то плагин, но вроде надо прописывать команду, чтобы вызвать меню.
Можно ли как то сделать, чтобы он каждый раунд выскакивал? Т.е убрать команду консольную.
Код:
#include < amxmodx >
#include < cstrike >
#include < hamsandwich >
#include < fakemeta_util >
#define PLUGIN_NAME "Vip Menu"
#define PLUGIN_VERSION "0.1"
#define PLUGIN_AUTHOR "BlackSmoke"
#define FLAG_ACCESS ADMIN_LEVEL_H
#define RegisterMenu(%1,%2) register_menucmd(register_menuid(%1),1023,%2)
new
bool:b_Damager[ 33 ] ,
s_Col[ 33 ][ 4 ] ,
iKey ,
iRound ;
public plugin_init( )
{
register_plugin( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR ) ;
register_event( "HLTV", "fw_RoundStart", "a", "1=0", "2=0" );
register_clcmd( "vipmenu", "ClientCmd__OpenVipMenu" ) ;
RegisterHam( Ham_Spawn, "player", "HamSpawnPlayer" ) ;
RegisterHam( Ham_Killed, "player", "HamKilledPlayer" ) ;
RegisterMenu( "VipMenu", "ActionVipMenu" ) ;
}
public fw_RoundStart( ) iRound++ ;
public client_authorized( iPlayer )
{
b_Damager[ iPlayer ] = true ;
if( ~get_user_flags( iPlayer ) & FLAG_ACCESS )
return PLUGIN_CONTINUE ;
new s_Name[ 32 ] ;
get_user_name( iPlayer, s_Name, 31 ) ;
Color_Print( 0, "!g[Сервер] !teamВип игрок: !g%s !teamв сети", s_Name ) ;
return PLUGIN_CONTINUE ;
}
public HamSpawnPlayer( iPlayer )
{
if( ~get_user_flags( iPlayer ) & FLAG_ACCESS || !is_user_alive( iPlayer ) )
return HAM_IGNORED ;
set_task( 2.0, "GiveItems", iPlayer ) ;
return HAM_IGNORED ;
}
public GiveItems( iPlayer )
{
fm_give_item( iPlayer, "weapon_hegrenade" ) ;
fm_give_item( iPlayer, "weapon_flashbang" ) ;
fm_give_item( iPlayer, "weapon_flashbang" ) ;
fm_give_item( iPlayer, "weapon_smokegrenade" ) ;
fm_set_user_armor( iPlayer, 100 ) ;
}
public HamKilledPlayer( iVictim, iAttacker )
{
if( !is_user_connected( iAttacker ) || !b_Damager[ iAttacker ] )
return HAM_IGNORED ;
message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, iAttacker)
write_short(1<<10)
write_short(1<<10)
write_short(0x0000)
write_byte(34)
write_byte(144)
write_byte(250)
write_byte(75)
message_end()
return HAM_IGNORED ;
}
public ClientCmd__OpenVipMenu( iPlayer )
{
if( ~get_user_flags( iPlayer ) & FLAG_ACCESS )
{
s_Col[ iPlayer ] = "\d" ;
iKey = ( 1 << 9 ) ;
}
else
{
s_Col[ iPlayer ] = "\w" ;
iKey = (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<9)
}
new s_Menu[ 512 ], s_Name[ 32 ] , iLen ;
get_user_name( iPlayer, s_Name, charsmax( s_Name ) ) ;
if( get_user_flags( iPlayer ) & FLAG_ACCESS )
iLen = format( s_Menu[ iLen ], charsmax( s_Menu ) - iLen, "\y\d^n\yВип Меню\r\d\y^n^n");
else
iLen = format( s_Menu[ iLen ], charsmax( s_Menu ) - iLen, "\yВип Меню \d^nЦена \yVIP: \r30р \r| \dSkype: \rvady19981^n^n");
iLen += format( s_Menu[ iLen ], charsmax( s_Menu ) - iLen, "\r1. %sВзять \r[\ydeagle\r]^n", s_Col[ iPlayer ] ) ;
iLen += format( s_Menu[ iLen ], charsmax( s_Menu ) - iLen, "\r2. %sВзять \r[\yAK-47\r]^n", s_Col[ iPlayer ] ) ;
iLen += format( s_Menu[ iLen ], charsmax( s_Menu ) - iLen, "\r3. %sВзять \r[\yM4a1\r]^n", s_Col[ iPlayer ] ) ;
iLen += format( s_Menu[ iLen ], charsmax( s_Menu ) - iLen, "\r4. %sВзять \r[\yAWP\r]^n", s_Col[ iPlayer ] ) ;
iLen += format( s_Menu[ iLen ], charsmax( s_Menu ) - iLen, "\r5. %sВзять \r[\yFAMAS\r]^n", s_Col[ iPlayer ] ) ;
iLen += format( s_Menu[ iLen ], charsmax( s_Menu ) - iLen, "\r0. Выход" ) ;
show_menu( iPlayer,iKey,s_Menu,-1,"VipMenu" ) ;
return PLUGIN_HANDLED ;
}
public ActionVipMenu( iPlayer, iKey )
{
new s_Name[ 32 ] ;
get_user_name( iPlayer, s_Name, 31 ) ;
if( iRound < 5 && iKey != 5 )
{
Color_Print( iPlayer, "!g[VIP] !teamОружие можно брать только с !g2-го !teamраунда" ) ;
return PLUGIN_HANDLED ;
}
switch( iKey )
{
case 0:
{
fm_strip_user_gun( iPlayer, CSW_USP ) ;
fm_strip_user_gun( iPlayer, CSW_GLOCK18 ) ;
fm_strip_user_gun( iPlayer, CSW_FIVESEVEN ) ;
fm_strip_user_gun( iPlayer, CSW_ELITE ) ;
fm_give_item( iPlayer, "weapon_deagle" ) ;
cs_set_user_bpammo( iPlayer, CSW_DEAGLE, 35 ) ;
}
case 1:
{
fm_strip_user_gun( iPlayer, CSW_M4A1 ) ;
fm_strip_user_gun( iPlayer, CSW_AWP ) ;
fm_strip_user_gun( iPlayer, CSW_FAMAS ) ;
fm_strip_user_gun( iPlayer, CSW_M3 ) ;
fm_give_item( iPlayer, "weapon_ak47" ) ;
cs_set_user_bpammo( iPlayer, CSW_AK47, 90 ) ;
}
case 2:
{
fm_strip_user_gun( iPlayer, CSW_AK47 ) ;
fm_strip_user_gun( iPlayer, CSW_AWP ) ;
fm_strip_user_gun( iPlayer, CSW_FAMAS ) ;
fm_strip_user_gun( iPlayer, CSW_M3 ) ;
fm_give_item( iPlayer, "weapon_m4a1" ) ;
cs_set_user_bpammo( iPlayer, CSW_M4A1, 90 ) ;
}
case 3:
{
fm_strip_user_gun( iPlayer, CSW_AK47 ) ;
fm_strip_user_gun( iPlayer, CSW_M4A1 ) ;
fm_strip_user_gun( iPlayer, CSW_FAMAS ) ;
fm_strip_user_gun( iPlayer, CSW_M3 ) ;
fm_give_item( iPlayer, "weapon_awp" ) ;
cs_set_user_bpammo( iPlayer, CSW_AWP, 30 ) ;
}
case 4:
{
fm_strip_user_gun( iPlayer, CSW_AK47 ) ;
fm_strip_user_gun( iPlayer, CSW_AWP ) ;
fm_strip_user_gun( iPlayer, CSW_M4A1 ) ;
fm_strip_user_gun( iPlayer, CSW_M3 ) ;
fm_give_item( iPlayer, "weapon_famas" ) ;
cs_set_user_bpammo( iPlayer, CSW_FAMAS, 90 ) ;
}
}
return PLUGIN_HANDLED ;
}
stock Color_Print(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 Color
replace_all(msg, 190, "!y", "^1") // Default Color
replace_all(msg, 190, "!team", "^3") // Team Color
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, get_user_msgid("SayText"), _, players[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}
Отредактировал: Rusich, - 21.3.2017, 21:07
Удача благоволит храбрым.