PHP Code:
#include <amxmodx>
new const Version[] = "0.1";
#define MAX_PLAYERS 32
enum Teams
{
Team_T,
Team_CT
}
enum Coords
{
Float:Coord_X,
Float:Coord_Y
}
enum RGB
{
Red,
Green,
Blue
}
new const TeamHeadings[ Teams ][ 21 ] =
{
"Terrorists:^n",
"Counter-Terrorists:^n"
};
new const Float:g_fHUDCoords[ Teams ][ Coords ] =
{
{ 0.02 , 0.2 },
{ 0.84 , 0.2 }
};
new const g_iHUDRGB[ Teams ][ RGB ] =
{
{ 255 , 0 , 0 },
{ 0 , 112 , 255 }
};
new g_iHudSync[ Teams ] , bool:g_bEnabled[ MAX_PLAYERS + 1 ];
public plugin_init()
{
register_plugin( "Players on HUD" , Version , "bugsy" );
register_clcmd( "say .on" , "TurnOn" );
register_clcmd( "say .off" , "TurnOff" );
register_clcmd( "say .toggle" , "ToggleHUD" );
register_clcmd( "say_team .on" , "TurnOn" );
register_clcmd( "say_team .off" , "TurnOff" );
register_clcmd( "say_team .toggle" , "ToggleHUD" );
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 TurnOn( id )
{
g_bEnabled[ id ] = true;
return PLUGIN_HANDLED;
}
public TurnOff( id )
{
g_bEnabled[ id ] = false;
return PLUGIN_HANDLED;
}
public ToggleHUD( id )
{
g_bEnabled[ id ] = !g_bEnabled[ id ];
return PLUGIN_HANDLED;
}
public ShowPlayers()
{
static szMessage[ Teams ][ charsmax( TeamHeadings[] ) + ( MAX_PLAYERS * 32 ) + 1 ];
new iPlayers[ 32 ] , iNum , i , iPlayer , iPos;
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++ )
{
iPos += get_user_name( iPlayers[ i ] , szMessage[ tTeam ][ iPos ] , charsmax( szMessage[] ) - iPos );
szMessage[ tTeam ][ iPos++ ] = '^n';
}
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 ] );
}
}
}