Можешь и последнюю версию глянуть.
Только функцию смены моделей я не доделал... Так Что не включай её лучше
Код
#include <amxmodx>
#include <zombieplague>
#include <fakemeta_util>
#define PLUGIN "[ZP] Extra Item: Survivor"
#define VERSION "0.3.1"
#define AUTHOR "fezh/QuZ/Shidla"
//#define ENABLE_CUSTOM_MODEL
#if defined ENABLE_CUSTOM_MODEL
// Weapon model.
new const model_1_weap_view[] = "models/v_m3.mdl"
new const model_2_weap_view[] = "models/v_deagle.mdl"
#endif
new g_survivor
new g_msgSayText
new g_maxplayers
new pcvar_enabled, pcvar_cost, pcvar_hudtime
public plugin_init()
{
register_plugin( PLUGIN, VERSION, AUTHOR )
pcvar_enabled = register_cvar( "zp_survivor_buy", "1" )
pcvar_cost = register_cvar( "zp_survivor_cost", "25" )
pcvar_hudtime = register_cvar( "zp_survivor_hudtime", "2.0" )
g_survivor = zp_register_extra_item( "Survivor", get_pcvar_num( pcvar_cost ) , ZP_TEAM_HUMAN )
g_maxplayers = get_maxplayers()
g_msgSayText = get_user_msgid( "SayText" )
register_cvar( "zp_extra_survivor", VERSION, FCVAR_SERVER|FCVAR_EXTDLL|FCVAR_UNLOGGED|FCVAR_SPONLY )
}
public zp_extra_item_selected( id, item )
{
if( !get_pcvar_num( pcvar_enabled ) )
return PLUGIN_HANDLED
if( item == g_survivor )
{
// if( zp_has_round_started() ) // QuZ (Если надо в начале раунда - анкомент)
// {
// colored_print( id, "^x04[ZP]^x01 Нужно покупать Выжевшего ДО начала раунда!" )
// return ZP_PLUGIN_HANDLED
// }
zp_make_user_survivor( id ) // делаем выжившим
fm_strip_user_weapons(id) // выкидываем пушку
fm_give_item(id, "weapon_m3") // даём М3
fm_give_item(id, "ammo_buckshot") // даём патроны к М3
#if defined ENABLE_CUSTOM_MODEL
set_pev(id, pev_viewmodel2, model_1_weap_view)
#endif
fm_give_item(id, "weapon_deagle") // даём дезерт
fm_give_item(id, "ammo_50ae") // даём патроны к дезерту
#if defined ENABLE_CUSTOM_MODEL
set_pev(id, pev_viewmodel2, model_2_weap_view)
#endif
fm_give_item(id, "weapon_hegrenade") // даём зажигательную
fm_give_item(id, "weapon_flashbang") // даём замораживалку
fm_give_item(id, "weapon_flashbang") // даём замораживалку
fm_give_item(id, "weapon_c4") // даём С4 прикола ради)))
colored_print( id, "^x04[ZP]^x01 Вы купили Выжевшего!" )
set_task( get_pcvar_float( pcvar_hudtime ), "survivor_message", id )
}
return PLUGIN_HANDLED
}
public survivor_message( id )
{
new szName[ 32 ]
get_user_name( id, szName, 31 )
set_hudmessage( 0, 0, 255, 0.05, 0.45, 1, 0.0, 5.0, 1.0, 1.0, -1 )
show_hudmessage( 0, "%s купил ВЫЖЕВШЕГО!", szName )
}
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()
}
}