#include <amxmodx>
new const Version[] = "0.1";
#define MAX_PLAYERS 32
enum Teams
{
Team_T, // Terrorista
Team_CT // CT
}
enum Coords
{
Float:Coord_X, // Float X kordináta
Float:Coord_Y // Float Y Kordináta
}
enum RGB
{
Red, Green, Blue
}
new const TeamHeadings[ Teams ][ 21 ] =
{
"Terrorisa:^n", //Terrorista
"Counter-Terrorista:^n" //Zsaruk (Counter Terrorista)
};
new const Float:g_fHUDCoords[ Teams ][ Coords ] =
{
{ 0.02 , 0.2 }, // Terror kordináta
{ 0.84 , 0.2 } // CT kordináta
};
new const g_iHUDRGB[ Teams ][ RGB ] =
{
{ 255 , 0 , 0 }, // Terror szín
{ 0 , 112 , 255 } // CT szín
};
new g_iHudSync[ Teams ] , bool:g_bEnabled[ MAX_PLAYERS + 1 ],bool:atkapcsol[ MAX_PLAYERS + 1];
public plugin_init()
{
register_plugin( "Players on HUD" , Version , "bugsy" );
register_clcmd( "say /kibe" , "Atkapcsol" );
register_clcmd( "say_team /kibe" , "Atkapcsol" );
g_iHudSync[ Team_T ] = CreateHudSyncObj();
g_iHudSync[ Team_CT ] = CreateHudSyncObj();
set_task( 1.0 , "ShowPlayers" , .flags = "b" );
}
public client_connect( id )
{
g_bEnabled[ id ] = true;
}
public Atkapcsol(id)
{
if((atkapcsol[id] ^= true))
{
g_bEnabled[ id ] = true; // Bekapcsolva
}
else
{
g_bEnabled[ id ] = false; // Kikapcsolva
}
}
public ShowPlayers()
{
static szMessage[ Teams ][ charsmax( TeamHeadings[] ) + ( MAX_PLAYERS * 32 ) + 1 ];
new iPlayers[ 32 ] , iNum , i , iPlayer , iPos , szName[ 32 ];
for ( new Teams:tTeam = Team_T ; tTeam < Teams ; tTeam++ )
{
get_players( iPlayers , iNum , "ae" , tTeam == Team_T ? "TERRORIST" : "CT" );
iPos = copy( szMessage[ tTeam ] , charsmax( szMessage[] ) , TeamHeadings[ tTeam ] );
for ( i = 0 ; i < iNum ; i++ )
{
iPlayer = iPlayers[ i ];
get_user_name( iPlayer , szName , charsmax( szName ) );
if ( tTeam == Team_T )
{
iPos += formatex( szMessage[ tTeam ][ iPos ] , charsmax( szMessage[] ) - iPos , "%d%%%% | %s^n" , get_user_health( iPlayer ) , szName );
}
else
{
iPos += formatex( szMessage[ tTeam ][ iPos ] , charsmax( szMessage[] ) - iPos , "%s | %d%%%%^n" , szName , get_user_health( iPlayer ) );
}
}
szMessage[ tTeam ][ iPos++ ] = EOS;
}
get_players( iPlayers , iNum , "ch" );
for ( new i = 0 ; i < iNum ; i++ )
{
iPlayer = iPlayers[ i ];
if ( g_bEnabled[ iPlayer ] )
{
set_hudmessage( g_iHUDRGB[ Team_T ][ Red ] , g_iHUDRGB[ Team_T ][ Green ] , g_iHUDRGB[ Team_T ][ Blue ] , g_fHUDCoords[ Team_T ][ Coord_X ] , g_fHUDCoords[ Team_T ][ Coord_Y ] , 0 , 0.0 , 1.2 , 0.0 , 0.0 , 1 );
ShowSyncHudMsg( iPlayer , g_iHudSync[ Team_T ] , szMessage[ Team_T ] );
set_hudmessage( g_iHUDRGB[ Team_CT ][ Red ] , g_iHUDRGB[ Team_CT ][ Green ] , g_iHUDRGB[ Team_CT ][ Blue ] , g_fHUDCoords[ Team_CT ][ Coord_X ] , g_fHUDCoords[ Team_CT ][ Coord_Y ] , 0 , 0.0 , 1.2 , 0.0 , 0.0 , 1 );
ShowSyncHudMsg( iPlayer , g_iHudSync[ Team_CT ] , szMessage[ Team_CT ] );
}
}
}