#include <amxmodx>
#include <reapi>
#define TASK_ROUND_REWARD 1453
public plugin_init()
{
register_plugin("Team Best Flash + FiveSeven", "1.0", "thorin/edit");
register_event("HLTV", "Event_Round_Start", "a", "1=0", "2=0");
}
public Event_Round_Start()
{
remove_task(TASK_ROUND_REWARD);
new Float:fDelay = get_cvar_float("mp_freezetime") + 0.3;
if(fDelay < 0.5)
fDelay = 0.5;
set_task(fDelay, "Task_RoundReward", TASK_ROUND_REWARD);
}
public Task_RoundReward()
{
Replace_All_Pistols();
new bestT = GetBestPlayerByTeam("TERRORIST");
new bestCT = GetBestPlayerByTeam("CT");
if(is_user_alive(bestT))
{
GiveFlash(bestT);
}
if(is_user_alive(bestCT) && bestCT != bestT)
{
GiveFlash(bestCT);
}
}
stock Replace_All_Pistols()
{
new players[32], num, id;
get_players(players, num, "ah");
for(new i = 0; i < num; i++)
{
id = players[i];
if(!is_user_alive(id))
continue;
rg_remove_items_by_slot(id, PISTOL_SLOT, true);
rg_give_item(id, "weapon_fiveseven");
rg_set_user_bpammo(id, WEAPON_FIVESEVEN, 100);
}
}
stock GetBestPlayerByTeam(const teamName[])
{
new players[32], num, id;
new bestId = 0;
new Float:bestFrags = -99999.0;
new Float:frags;
get_players(players, num, "aeh", teamName);
for(new i = 0; i < num; i++)
{
id = players[i];
frags = get_entvar(id, var_frags);
if(frags > bestFrags)
{
bestFrags = frags;
bestId = id;
}
}
return bestId;
}
stock GiveFlash(id)
{
if(!is_user_alive(id))
return;
rg_give_item(id, "weapon_flashbang");
}