Покупка Немезиды

denis8388

New Member
Подскажите плагин с покупкой немезиды\выжившего и поставить свою модель. т.е. если сервер сам сделает кого то немезидой, то будет одна модель, а если зомби покупает немезиду, то должна быть другая модель, точно так же с выжившим. + покупка выжившего\немезиды должна быть осуществлена, если на сервере минимум 15 человек и не более 4 купленных немезид за раунд. если мод начался и первый зомби купил боса, после нельзя было пользоваться покупкой зомби.

первый плагин который нашел
#include <amxmodx>
#include <zombieplague>

// Human Team
#define g_team ZP_TEAM_HUMAN

new g_buy_survivor
new g_item_survivor[] = "Buy Survivor (One Round)"
new g_cost_survivor = 10

new g_buy_nemesis
new g_item_nemesis[] = "Buy Nemesis (One Round)"
new g_cost_nemesis = 10

// Init
public plugin_init()
{
// Register Plugin Info
register_plugin("[ZP] Addon: Buy Classes", "2.0", "eXacT")

// Register Zp Extra Items
g_buy_survivor = zp_register_extra_item(g_item_survivor, g_cost_survivor, g_team)
g_buy_nemesis = zp_register_extra_item(g_item_nemesis, g_cost_nemesis, g_team)
}

// Extra Item Selected Forward
public zp_extra_item_selected(player, itemid)
{
new Name[32]
get_user_name(player, Name, charsmax(Name))

if(itemid == g_buy_survivor)
{
if(!zp_has_round_started())
{
client_cmd(player, "zp_survivor %s", Name)
}
else
{
zp_set_user_ammo_packs(player, zp_get_user_ammo_packs(player) + g_cost_survivor)
}
}
else if (itemid == g_buy_nemesis)
{
if(!zp_has_round_started())
{
client_cmd(player, "zp_nemesis %s", Name)
}
else
{
zp_set_user_ammo_packs(player, zp_get_user_ammo_packs(player) + g_cost_nemesis)
}
}
}

/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang9226\\ f0\\ fs16 \n\\ par }
*/

второй плагин, как можно осуществить задуманное?

#include <amxmodx>
#include <zombieplague>

#define PLUGIN "[ZP] Extra Item: Nemesis"
#define VERSION "0.2"
#define AUTHOR "fezh/Shidla/QuZ"

new g_nemesis
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_nemesis_buy", "1" )
pcvar_cost = register_cvar( "zp_nemesis_cost", "40" )
pcvar_hudtime = register_cvar( "zp_nemesis_hudtime", "2.0" )

g_nemesis = zp_register_extra_item( "Nemesis", get_pcvar_num( pcvar_cost ) , ZP_TEAM_ANY )

g_maxplayers = get_maxplayers()
g_msgSayText = get_user_msgid( "SayText" )

register_cvar( "zp_extra_nemesis", 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_nemesis )
{
// Раскаментируйте строчки ниже, чтоб можно было покупать Немезиду только ДО начала раунда
// if( zp_has_round_started() )
// {
// colored_print( id, "^x04[ZP]^x01 Нужно покупать Немезиду ДО начала раунда!" )
// return ZP_PLUGIN_HANDLED
// }

zp_make_user_nemesis( id )

colored_print( id, "^x04[ZP]^x01 Вы купили Немезиду!" )

set_task( get_pcvar_float( pcvar_hudtime ), "nemesis_message", id )
}
return PLUGIN_HANDLED
}

public nemesis_message( id )
{
new szName[ 32 ]
get_user_name( id, szName, 31 )
set_hudmessage( 255, 0, 0, 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()
}
}
 
Сверху