Код за потвърждение: Избери целия код
#include <amxmodx>
#include <fun>
#include <cstrike>
// #define LIVE_UPDATE // Сразу обновлять кол-во фрагов или же в начале раунда. Включение добавит "тяжести"
#define IsValidPlayers(%1,%2) ((1 <= %1 <= 32) && (1 <= %2 <= 32))
new g_iAssist[33];
new g_iAssDamage[33][33];
public plugin_init()
{
#define VERSION "1.17"
register_plugin("Lite Kill Assist", VERSION, "neygomon");
register_cvar("lite_assist", VERSION, FCVAR_SERVER | FCVAR_SPONLY);
register_event("HLTV", "eRoundStart", "a", "1=0", "2=0");
register_event("DeathMsg", "eDeathMsg", "a", "1>0");
register_event("Damage", "eDamage", "be", "2!0", "3=0", "4!0");
}
public client_disconnect(id)
ResetAssist(id);
public eRoundStart()
{
new pl[32], pnum; get_players(pl, pnum);
for(new i; i < pnum; i++)
ResetAssist(pl[i]);
}
public eDeathMsg()
{
static pKiller, pVictim;
pKiller = read_data(1);
pVictim = read_data(2);
if(pKiller == pVictim || pKiller == g_iAssist[pVictim] || !is_user_connected(g_iAssist[pVictim])) return;
cs_set_user_money(g_iAssist[pVictim], cs_get_user_money(g_iAssist[pVictim]) + 100);
static iFrags; iFrags = get_user_frags(g_iAssist[pVictim]) + 1;
set_user_frags(g_iAssist[pVictim], iFrags);
#if defined LIVE_UPDATE
static mScoreInfo; if(!mScoreInfo) mScoreInfo = get_user_msgid("ScoreInfo");
message_begin(MSG_ALL, mScoreInfo);
write_byte(g_iAssist[pVictim]);
write_short(iFrags);
write_short(get_user_deaths(g_iAssist[pVictim]));
write_short(0);
write_short(get_user_team(g_iAssist[pVictim]));
message_end();
#endif
static killer[32], victim[32];
is_user_connected(pKiller) ? get_user_name(pKiller, killer, charsmax(killer)) : formatex(killer, charsmax(killer), "Killer unknown");
get_user_name(pVictim, victim, charsmax(victim));
ChatColor(g_iAssist[pVictim], "^4[Kill Assist] ^1You assist ^3%s ^1for kill ^3%s^1. You received^4 1 frag ^1+^4 $100.", killer, victim);
ResetAssist(pVictim);
}
public eDamage(id)
{
static pAttacker; pAttacker = get_user_attacker(id);
if(id == pAttacker || !IsValidPlayers(id, pAttacker)) return;
g_iAssDamage[id][pAttacker] += read_data(2);
if(!g_iAssist[id] && g_iAssDamage[id][pAttacker] >= 65)
g_iAssist[id] = pAttacker;
}
ResetAssist(id)
{
g_iAssist[id] = 0;
arrayset(g_iAssDamage[id], 0, sizeof g_iAssDamage[]);
}
stock ChatColor(id, const szMessage[], any:...)
{
static szMsg[190], IdMsg; vformat(szMsg, charsmax(szMsg), szMessage, 3);
if(!IdMsg) IdMsg = get_user_msgid("SayText");
message_begin(MSG_ONE, IdMsg, .player = id);
write_byte(id);
write_string(szMsg);
message_end();
}