HL Rank on HUD

HL Rank on HUD 1.5

Нет прав для скачивания
Код:
#include <amxmodx>
#include <amxmisc>
#include <reapi>
#include <lambda_core>
#include <fun>


#define PLUGIN_NAME "[.:HGS:.] HUD Rank Info"
#define PLUGIN_AUTHOR "Glaster"
#define PLUGIN_VERSION "1.5"

#define TS_TASK_ID 123321
#define F_UPDATE_TIME 1.0
#define F_HOLD_TIME 12.0


new g_iHudSyncObj;
new szHudText[256];
new iUserRank[32]
new uStats[32][8];
new uBodyhits[32][8];
new fEff[32];
new fAcc[32];
new iRankMax = -1;

enum _:USER_STATS
{
    STATS_KILLS,
    STATS_DEATHS,
    STATS_HEADSHOTS,
    STATS_TEAMKILLS,
    STATS_SHOTS,
    STATS_HITS,
    STATS_DAMAGE,
    STATS_END
}

public client_putinserver(id){
    iUserRank[id] = lc_get_user_stats(id, uStats[id], uBodyhits[id]);
    fEff[id] = effec(uStats[id]);
    fAcc[id] = accuracy(uStats[id]);
}

public client_disconnected(id){
    new iEmpty[8]
    uStats[id] = iEmpty
    fEff[id] = 0.0
    fAcc[id] = 0.0
}

public plugin_init() {
    register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR);
    g_iHudSyncObj = CreateHudSyncObj();
    set_task(F_UPDATE_TIME, "ShowScoreHud", TS_TASK_ID, .flags = "b");
}

public ShowScoreHud(id) {
    if (iRankMax == -1){
        iRankMax = lc_get_statsnum()
    }
    set_hudmessage(255, 255, 0,  0.01, 0.74, .holdtime = F_HOLD_TIME, .effects=0, .fadeouttime=0, .fadeintime=0);
    for(new iPlayer = 1; iPlayer <= MaxClients; iPlayer++)
        if(is_user_connected(iPlayer) && is_user_alive(iPlayer) && !is_user_bot(iPlayer)){
            formatex(szHudText, charsmax(szHudText), "Your rank is %d of %d with %d kills and %d deaths^nEff: %.2f | Acc: %.2f", iUserRank[iPlayer], iRankMax, uStats[iPlayer][STATS_KILLS], uStats[iPlayer][STATS_DEATHS], fEff[iPlayer], fAcc[iPlayer])
            ShowSyncHudMsg(iPlayer, g_iHudSyncObj, szHudText);
        }
        
}

Float:effec(stats[8])
{
    if(!stats[STATS_KILLS])
        return (0.0)
 
    return (100.0 * float(stats[STATS_KILLS]) / float(stats[STATS_KILLS] + stats[STATS_DEATHS]))
}

Float:accuracy(stats[8])
{
    if(!stats[STATS_SHOTS])
        return (0.0)
 
    return (100.0 * float(stats[STATS_HITS]) / float(stats[STATS_SHOTS]))
}
Назад
Верх