#include < amxmodx >
#include < hamsandwich >
new Float:Damage[33];
new Float:Xdamage[33];
new g_playersnum;
new const PLUGIN_VERSION[] = "1.0";
public plugin_init() {
register_plugin("My Damage", PLUGIN_VERSION, "Ortega");
register_event( "HLTV", "NewRound", "a", "1=0", "2=0" );
register_logevent( "EndRound", 2, "1=Round_End" );
RegisterHam(Ham_TakeDamage, "player", "ForwardPlayerDmg", 1);
register_clcmd("say /me", "HookSay");
}
public ForwardPlayerDmg(iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits) {
Damage[iAttacker] += fDamage;
floatround(Damage[iAttacker], floatround_floor);
}
public HookSay(id) {
if(Damage[id]) {
client_print(id, print_chat, "Zadales dotychczas %d obrazen.", Damage[id]);
}
else client_print(id, print_chat, "na razie nie zadales obrazen przeciwnikowi.");
return PLUGIN_HANDLED;
}
public NewRound() {
for(new id = 0; id<33; id++) {
Damage[id] = 0.0;
Xdamage[id] = 0.0;
}
g_playersnum = get_playersnum();
}
public EndRound( ) {
new k = 0; while( Damage[k] == Xdamage[k] ) k++;
SortFloats(Xdamage[k], 33, Sort_Descending);
for(new i = 0; i<33; i++) {
static szName[32];
get_user_name(i, szName, sizeof(szName)-1);
floatround(Xdamage[i], floatround_floor);
if( ( Xdamage[0] == Damage[i] ) && g_playersnum > 1 ) {
client_print(0, print_chat, "Najwiecej obrazen zadal %s (%d obrazen!).", szName[i], Xdamage[0] );
break;
}
}
}
Dorzucić, aby dawało jakiś bonus dla tej osoby, która wykonała największy damage w poprzedniej rundzie ?
Próbowałem wielu sposobów, lecz nie mogę się z tym uporać, dlatego proszę o pomoc. Będę wdzięczny.
Użytkownik kubek edytował ten post 24.11.2012 16:10