Scorp | Дата: Среда, 04.07.2012, 11:37 | Сообщение # 1 |
- Сообщения: 77
- Награды: 0
- Замечания:
|
как изменить плагин "Leader",чтобы он давался рандомно на 2 раунде,и кто его убивает,тот лидером и становится!Пробовал изменить,не получилось. #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 Стал Лидером!", 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; }
|
|
| |
KinD | Дата: Среда, 04.07.2012, 12:08 | Сообщение # 2 |
- Сообщения: 1148
- Награды: 22
- Замечания:
|
При убийстве "этого лидера" выдавай setleader или как у тебя. примерно будет так. Leader = victim
Killer = Attacker(killer) Если это условие соблюдено,то setleader
Skype:daywerok
|
|
| |