User CMSStat Info

User CMSStat Info 0.1.1

Нет прав для скачивания
C++:
#include <amxmodx>
#include <fakemeta>

native cmsstats_get_user_stats(id, stats[8],bodyhits[8]);

#if defined AMXX_VERSION_RELEASE
    #define    client_disconnect client_disconnected
#else
    #include <colorchat>
#endif

#define ID_SHOWHUD (iTask - TASKID_INFORMER)

const TASKID_INFORMER = 19920001323;

new g_pHudMessage;

new const PLUGIN[] = "User CMSStat Info";
new const VERSION[] = "0.1";
new const AUTHOR[] = "Fenix";

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR);
    register_dictionary("user_cmsstat_info.txt");
 
    g_pHudMessage = CreateHudSyncObj();
}

public client_putinserver(id)
{
    set_task(1.0, "Task_ShowInformer", id + TASKID_INFORMER, .flags = "b");
}

public client_disconnect(id)
{
    remove_task(id + TASKID_INFORMER);
}

public Task_ShowInformer(iTask)
{
    static id; id = ID_SHOWHUD;

    if(!is_user_alive(id))
    {
        id = pev(id, pev_iuser2);

        if(!is_user_alive(id))
        {
            return;
        }
    }
 
    if(g_pHudMessage != 0) ClearSyncHud(id, g_pHudMessage);

    if(id != ID_SHOWHUD)
    {
        new flHeatlh = get_user_health(id);
        new flArmor = get_user_armor(id);
     
        new stats[8], bodyhits[8];
        new rank = cmsstats_get_user_stats(id, stats, bodyhits);
     
        if (rank <= 0)
        {
            return;
        }
     
        new len, hudMessage[350];
     
        len += formatex(hudMessage[len], charsmax(hudMessage) - len, "%L", id, "CMS_HUD_PR", getPrefixPlayer(id));
        len += formatex(hudMessage[len], charsmax(hudMessage) - len, "%L", id, "CMS_HUD_HP_AR", flHeatlh, flArmor);
        len += formatex(hudMessage[len], charsmax(hudMessage) - len, "%L", id, "CMS_HUD_KL_DH", stats[0], stats[1]);
        len += formatex(hudMessage[len], charsmax(hudMessage) - len, "%L", id, "CMS_HUD_HS_SH", stats[2], stats[4]);
        len += formatex(hudMessage[len], charsmax(hudMessage) - len, "%L", id, "CMS_HUD_HI", stats[5]);
     
        ClearSyncHud(id, g_pHudMessage);
        set_hudmessage(0, 255, 0, 0.8, 0.35, 0, 6.0, 1.1, 0.0, 0.0, -1);
        ShowSyncHudMsg(ID_SHOWHUD, g_pHudMessage, hudMessage);
    }
}

getPrefixPlayer(id)
{
    new sText[40];
    new Flags = get_user_flags(id);

    if(Flags & ADMIN_RCON)
    {
      formatex(sText, charsmax(sText), "%L", LANG_SERVER, "HUD_BOSS");
    }
    else if(Flags & ADMIN_BAN)
    {
        formatex(sText, charsmax(sText), "%L", LANG_SERVER, "HUD_ADMIN");
    }
    else if(Flags & ADMIN_LEVEL_D)
    {
        formatex(sText, charsmax(sText), "%L", LANG_SERVER, "HUD_GIRL");
    }
    else if(Flags & ADMIN_LEVEL_H)
    {
        formatex(sText, charsmax(sText), "%L", LANG_SERVER, "HUD_VIP");
    }
    else if(is_user_steam(id))
    {
        formatex(sText, charsmax(sText), "%L", LANG_SERVER, "HUD_STEAM");
    }
    else
    {
        formatex(sText, charsmax(sText), "%L", LANG_SERVER, "HUD_PLAYER");
    }

    return sText;
}

stock is_user_steam(id) // проверка на наличие лицензии
{
    static dp_pointer;
    if( dp_pointer || ( dp_pointer = get_cvar_pointer( "dp_r_id_provider" ) ) )
    {
        server_cmd( "dp_clientinfo %d", id );
        server_exec();
        return ( get_pcvar_num( dp_pointer ) == 2 ) ? 1 : 0;
    }
    return 0;
}
Назад
Сверху