+ това ХУД съобщението да се вижда постоянно.
Благодаря предварително!
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta_util>
#include <fun>
new pHp, pRound, pRED, pGREEN, pBLUE
new CurRound, Leader
public plugin_init()
{
register_plugin("Leader", "1.0", "Exta5y")
register_event("ResetHUD", "eSpawn", "b")
register_event("DeathMsg", "eDeath", "a")
register_event("TextMsg", "eRestart", "a", "2=#Game_will_restart_in")
register_logevent("roundStart", 2, "1=Round_Start")
pHp = register_cvar("leader_hp", "5") // количество ХП за человека
pRound = register_cvar("leader_round", "2")
pRED = register_cvar("leader_glow_red", "0")
pGREEN = register_cvar("leader_glow_green", "128")
pBLUE = register_cvar("leader_glow_blue", "0")
Leader = -1
CurRound = 0
}
// ищем лидера по фрагам и смертям
SearchLeader()
{
new iPlayers[32], NumPlayers
get_players(iPlayers, NumPlayers, "a")
new LeaderFrags
new LeaderDeaths
new Frags
new Deaths
LeaderFrags = get_user_frags(iPlayers[0])
LeaderDeaths = get_user_deaths(iPlayers[0])
Leader = iPlayers[0]
for(new i = 1; i < NumPlayers; i++)
{
Frags = get_user_frags(iPlayers[i])
Deaths = get_user_deaths(iPlayers[i])
if((Frags > LeaderFrags) || ((Frags == LeaderFrags) && (Deaths < LeaderDeaths)))
{
LeaderFrags = Frags
LeaderDeaths = Deaths
Leader = iPlayers[i] // id
}
}
if(Leader != -1)
SetLeader(Leader) // вывод HUD сообщение с именем лидера
else
un_glow(Leader)
}
// вывод HUD сообщение с именем лидера
SetLeader(id)
{
new iPlayers[32], NumPlayers
get_players(iPlayers, NumPlayers, "")
give_item(id,"weapon_deagle")
cs_set_user_bpammo(id,CSW_DEAGLE,35)
give_item(id,"weapon_knife")
give_item(id,"weapon_hegrenade")
cs_set_user_bpammo(id,CSW_HEGRENADE,3)
set_user_health(id, 100 + get_pcvar_num(pHp) * (NumPlayers-1))
do_glow(id)
if(get_user_team(id) == 1)
set_hudmessage(255, 0, 0, 0.05, 0.2, 0, 6.0, 300.0)
else
set_hudmessage(0, 0, 255, 0.05, 0.2, 0, 6.0, 300.0)
new name[32]
get_user_name(id, name, 31)
show_hudmessage(0, "%s is a LEADER!!!!", name)
}
public client_disconnect(id)
{
if(id == Leader)
Leader = -1
}
public eRestart()
{
CurRound = 0
Leader = -1
}
public roundStart()
{
CurRound++
if(CurRound <= get_pcvar_num(pRound) || Leader == -1)
SearchLeader()
}
public eSpawn(id)
{
if(Leader == id)
SetLeader(id) // вывод HUD сообщение с именем лидера
else
un_glow(id)
}
public eDeath()
{
if(CurRound < get_pcvar_num(pRound))
return PLUGIN_HANDLED
new killer = read_data(1)
new victim = read_data(2)
if(victim != Leader)
return PLUGIN_HANDLED
if(!killer)
return PLUGIN_HANDLED
if(killer != victim && is_user_alive(killer) && get_user_team(killer) != get_user_team(victim))
{
Leader = killer
SetLeader(killer) // вывод HUD сообщение с именем лидера
}
return PLUGIN_HANDLED
}
public do_glow(id)
{
new RED, GREEN, BLUE
RED = get_pcvar_num(pRED)
GREEN = get_pcvar_num(pGREEN)
BLUE = get_pcvar_num(pBLUE)
set_user_rendering(id,kRenderFxGlowShell, RED, GREEN, BLUE, kRenderNormal,25)
return PLUGIN_HANDLED;
}
public un_glow(id)
{
set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderNormal,25)
return PLUGIN_HANDLED;
}