Code:
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <cstrike>
#include <colorchat>
#define PLUGIN "Best Player Round"
#define AUTHOR "extream87"
#define VERSION "1.1"
new g_iKills[33], g_iDmg[33], zTAG
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
RegisterHam(Ham_TakeDamage, "player", "hamTakeDamage")
register_event("DeathMsg", "EventDeathMsg", "a")
register_logevent("RoundEnd", 2, "1=Round_End")
zTAG = register_cvar("bp_prefix", "Prefix*")
}
public client_disconnect(id)
{
g_iDmg[id] = 0;
g_iKills[id] = 0;
}
public hamTakeDamage(victim, inflictor, attacker, Float:damage, DamageBits)
{
if( 1 <= attacker <= 32)
{
if(cs_get_user_team(victim) != cs_get_user_team(attacker))
g_iDmg[attacker] += floatround(damage)
else
g_iDmg[attacker] -= floatround(damage)
}
}
public EventDeathMsg()
{
new killer = read_data(1)
new victim = read_data(2)
if(killer != victim && killer && cs_get_user_team(killer) != cs_get_user_team(victim))
{
g_iKills[killer]++;
}
else
g_iKills[killer]--;
}
public RoundEnd()
{
new iBestPlayer = get_best_player()
new szName[33]
get_user_name(iBestPlayer, szName, charsmax(szName))
new szTAG[25];
get_pcvar_string(zTAG, szTAG, charsmax(szTAG));
if (g_iKills[iBestPlayer] <1 ){
ColorChat(0, GREEN, "[%s] ^x01Esta ronda nao foi jogada.", szTAG);
}
else if (g_iKills[iBestPlayer] ==1 ){
ColorChat(0, GREEN, "[%s] ^x01Melhor jogador da ronda: ^x04%s ^x01matou ^x04%i ^x01jogador.", szTAG, szName, g_iKills[iBestPlayer]);
}
else if (g_iKills[iBestPlayer] >1 ){
ColorChat(0, GREEN, "[%s] ^x01Melhor jogador da ronda: ^x04%s ^x01matou ^x04%i ^x01jogadores.", szTAG, szName, g_iKills[iBestPlayer]);
}
for(new i; i < 31; i++)
{
g_iDmg[i] = 0;
g_iKills[i] = 0;
}
}
get_best_player()
{
new players[32], num;
get_players(players, num);
SortCustom1D(players, num, "sort_bestplayer")
return players[0]
}
public sort_bestplayer(id1, id2)
{
if(g_iKills[id1] > g_iKills[id2])
return -1;
else if(g_iKills[id1] < g_iKills[id2])
return 1;
else
{
if(g_iDmg[id1] > g_iDmg[id2])
return -1;
else if(g_iDmg[id1] < g_iDmg[id2])
return 1;
else
return 0;
}
return 0;
}