#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;
}