#include <amxmodx>
#include <hamsandwich>
#include <fakemeta>
#include <csx>
#include <colorchat>
#define AUTHOR "aSior - amxx.pl/user/60210-asior/"
#define VIP_FLAG ADMIN_LEVEL_G
#define TASK_DISPLAYHUD 997
#define ForRangeLess(%1,%2,%3) for(new %1 = %2; %1 < %3; %1++)
new const siteLink[] = "www.amxx.pl";
new const hudRGB[] =
{
0,
255,
0
};
new const Float:hudOrigin[] = { 0.025, 0.25 };
new const toggleHudCommands[][] =
{
"say /hud",
"say_team /hud",
"say /wlaczhud",
"say_team /wlaczhud"
};
new clientName[33][33],
blank[8],
bool:clientHudEnabled[33],
hudObject;
public plugin_init()
{
register_plugin("x", "v0.1", AUTHOR);
RegisterHam(Ham_Spawn, "player", "PlayerSpawn", 1);
register_event("DeathMsg", "DeathMsg", "a");
hudObject = CreateHudSyncObj();
ForRangeLess(i, 0, sizeof toggleHudCommands)
register_clcmd(toggleHudCommands[i], "toggleHud");
}
public toggleHud(index)
{
clientHudEnabled[index] = !clientHudEnabled[index];
if(clientHudEnabled[index])
setHudTask(index);
else
if(task_exists(index + TASK_DISPLAYHUD))
remove_task(index + TASK_DISPLAYHUD);
ColorChat(index, NORMAL, "%s hud.", clientHudEnabled[index] ? "Wlaczyles" : "Wylaczyles");
}
public setHudTask(index)
set_task(1.0, "displayHud", index + TASK_DISPLAYHUD, .flags = "b");
public DeathMsg()
{
new victim = read_data(2);
if(is_user_alive(victim) || !clientHudEnabled[victim])
return;
setHudTask(victim);
}
public PlayerSpawn(index)
{
if(!is_user_alive(index) || !clientHudEnabled[index])
return;
if(task_exists(index + TASK_DISPLAYHUD))
remove_task(index + TASK_DISPLAYHUD);
}
public client_authorized(index)
if(!is_user_bot(index) && !is_user_hltv(index))
get_user_name(index, clientName[index], charsmax(clientName[])),
setHudTask(index),
clientHudEnabled[index] = true;
public client_disconnect(index)
if(task_exists(index + TASK_DISPLAYHUD))
remove_task(index + TASK_DISPLAYHUD);
public displayHud(taskIndex)
{
new index = taskIndex - TASK_DISPLAYHUD;
if(is_user_alive(index))
return;
new target = pev(index, pev_iuser2);
if(!is_user_connected(target))
return;
new currentTime[9], clientStats[8];
get_time("%H:%M:%S", currentTime, charsmax(currentTime));
get_user_stats(target, clientStats, blank);
set_hudmessage(hudRGB[0], hudRGB[1], hudRGB[2], hudOrigin[0], hudOrigin[1], 0, 6.0, 1.0, 0.0, 0.0);
ShowSyncHudMsg(index, hudObject, "Forum: %s^nNick: %s^nGodzina: %s^nFragi: %d^nVIP: %s", siteLink, clientName[target], currentTime, clientStats[0], get_user_flags(target) & VIP_FLAG ? "Tak" : "Nie");
}