Code:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <cstrike>
#include <colorchat>
#define PLUGIN "Best Player Round"
#define AUTHOR "extream87"
#define VERSION "1.0"
new g_iKills[33], g_iDmg[33], zTAG, g_maxplayers;
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
g_maxplayers = get_maxplayers();
RegisterHam(Ham_TakeDamage, "player", "hamTakeDamage")
RegisterHam(Ham_Killed, "player", "fw_PlayerKilled")
register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
register_logevent("RoundEnd", 2, "1=Round_End")
zTAG = register_cvar("bp_prefix", "servername")
}
public client_disconnect(id)
{
g_iDmg[id] = 0;
g_iKills[id] = 0;
}
public hamTakeDamage(victim, inflictor, attacker, Float:damage, DamageBits)
{
if(1 <= attacker <= g_maxplayers)
{
if(cs_get_user_team(victim) != cs_get_user_team(attacker))
g_iDmg[attacker] += floatround(damage)
else
g_iDmg[attacker] -= floatround(damage)
}
}
public fw_PlayerKilled()
{
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 event_new_round()
{
arrayset(g_iDmg, 0, sizeof g_iDmg);
arrayset(g_iKills, 0, sizeof g_iKills);
}
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] ^1Esta ronda nao foi jogada.", szTAG);
}
else if (g_iKills[iBestPlayer] ==1 ){
ColorChat(0, GREEN, "[%s] ^1Melhor jogador da ronda: ^4%s ^1matou ^4%i ^1jogador.", szTAG, szName, g_iKills[iBestPlayer]);
}
else if (g_iKills[iBestPlayer] >1 ){
ColorChat(0, GREEN, "[%s] ^1Melhor jogador da ronda: ^4%s ^1matou ^4%i ^1jogadores.", szTAG, szName, g_iKills[iBestPlayer]);
}
}
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;
}