Код
/*
Основная идея была взята с Counter Strike Online.
Изначально плагин был создан для ZP мода, но и хотелось бы и в паблик серверах видеть Героя :D.
Настройки:
hero_armor - Сколько давать броню Герою, стандарт 150
hero_health - Сколько давать жизни Герою, стандарт 100
hero_give_weapon - Далить ои Герою AWP и Deagle, стандарт дается
- у AWP в запасе 5 пуль, можно изменить ниже в этой строке cs_set_user_bpammo(id, CSW_AWP, 5), 5 на ваше усмотрение.
- у Deagle в запасе 7 пуль, можно изменить ниже в этой строке cs_set_user_bpammo(id, CSW_DEAGLE, 7), 7 на ваше усмотрение.
hero_color - Включить/Выключить глоу эффект, стандарт включен
hero_color_spawn - Свет при появлении Героя, стандарт зеленый, настраивается RGB
hero_color_time - Время свечивания Героя при появлении, стандарт 10 секунд
Информация о Герои:
- дается 150 брони
- дается 100 жизни
- дается оружия AWP и Deagle
- освещение на 10 секунд
История:
- 1.0 Публичная версия
*/
#include <amxmodx>
#include <fun>
#include <fakemeta>
#include <cstrike>
new g_hero
new cvar_hero_armor, cvar_hero_health, cvar_give_wpn, cvar_hero_color, cvar_hero_colorrun, cvar_hero_amount, cvar_hero_time
public plugin_init()
{
register_plugin("Random Make Hero", "1.0", "Mapaky9")
cvar_hero_armor = register_cvar("hero_armor", "150")
cvar_hero_health = register_cvar("hero_health", "100")
cvar_give_wpn = register_cvar("hero_give_weapon", "1")
cvar_hero_color = register_cvar("hero_color", "1");
cvar_hero_colorrun = register_cvar("hero_color_spawn", "0 255 0");
cvar_hero_amount = register_cvar("hero_color_amount", "30");
cvar_hero_time = register_cvar("hero_color_time", "10.0");
register_logevent("EventRoundStart", 2, "1=Round_Start")
register_logevent("EventRoundEnd", 2, "1=Round_End")
}
public client_disconnect(id)
{
if(id == g_hero)
{
g_hero = 0
}
}
public EventRoundStart()
{
new players[32], num
get_players(players, num, "a")
if(num)
{
SetHero(players[random(num)])
}
}
public EventRoundEnd()
{
RemoveHero()
}
public SetHero(id)
{
g_hero = id;
if(pev(id, pev_armorvalue) < get_pcvar_num(cvar_hero_armor))
set_pev(id, pev_armorvalue, float(get_pcvar_num(cvar_hero_armor)))
new health[32]
health[id] = get_user_health(id)
set_user_health(id, health[id] + get_pcvar_num(cvar_hero_health))
if(get_pcvar_num(cvar_give_wpn))
{
give_item(id, "weapon_awp")
cs_set_user_bpammo(id, CSW_AWP, 5)
give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 7)
}
if(get_pcvar_num(cvar_hero_color))
{
new szColor[12], szRed[4], szGreen[4], szBlue[4]
get_pcvar_string(cvar_hero_colorrun, szColor,11)
parse(szColor, szRed, 3, szGreen, 3, szBlue, 4)
new iRed = clamp(str_to_num(szRed), 0, 255)
new iGreen = clamp(str_to_num(szGreen), 0, 255)
new iBlue = clamp(str_to_num(szBlue), 0, 255)
set_user_rendering(id, kRenderFxGlowShell, iRed, iGreen, iBlue, kRenderNormal, get_pcvar_num(cvar_hero_amount))
set_task(get_pcvar_float(cvar_hero_time), "event_time_color", id)
}
}
public event_time_color(id)
{
set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderNormal, 0)
}
RemoveHero()
{
if(!g_hero)
{
return
}
g_hero = 0
}