/*
1.0: release
1.1: added two cvars, and optimize code
cvar:
dmsg_displaymsg [CVAR][Default: 15.0][Cat sa timp sa tina mesajul]
dmsg_shownname [CVAR][Default: 1][Afisare si nume, in mesaj]
dmsg_shownrank [CVAR][Default: 1][Afisare si rank, in mesaj]
*/
#include < amxmodx >
#include < amxmisc >
#include < dhudmessage >
#include < csx >
#define PLUGIN_NAME "dhudMessage"
#define PLUGIN_VERSION "1.1"
#define PLUGIN_AUTHOR "falseq"
new g_File[ 128 ], g_Text[ 256 ];
new g_HudDisplay, g_ShowName, g_ShowRank;
/* ==============================
=> Red Green Blue
====================||=================== */
#define RRR 50
#define GGG 50
#define BBB 130
public plugin_init( )
{
register_plugin( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR );
register_cvar( "dhudmsg_author", PLUGIN_AUTHOR, FCVAR_SERVER | FCVAR_SPONLY );
set_cvar_string( "dhudmsg_author", PLUGIN_AUTHOR );
g_HudDisplay = register_cvar( "dmsg_displaymsg", "15.0" );
g_ShowName = register_cvar( "dmsg_showname", "1" );
g_ShowRank = register_cvar( "dmsg_showrank", "1" );
}
public plugin_cfg( )
{
get_configsdir( g_File, sizeof( g_File ) -1 );
formatex( g_File, sizeof( g_File ) -1, "%s/welcome_msg.ini", g_File );
if( !file_exists( g_File ) )
{
write_file( g_File, "^"Welcome message^"", -1 );
}
set_task( 3.0, "openfile" );
}
public openfile( )
{
new szFile = fopen( g_File, "r" );
if( !szFile )
return;
new szData[ 256 ];
while( !feof( szFile ) )
{
fgets( szFile, szData, sizeof( szData ) -1 );
copy( g_Text, sizeof( g_Text ) -1, szData );
break;
}
fclose( szFile );
return;
}
public client_putinserver( id )
{
set_task( 2.0, "showmsg", id );
}
public showmsg( id )
{
new szName[ 32 ], iStats[ 8 ], iBody[ 8 ], iPlayerStats;
get_user_name( id, szName, sizeof( szName ) -1 );
iPlayerStats = get_user_stats( id, iStats, iBody );
if( get_pcvar_num( g_ShowName ) && get_pcvar_num( g_ShowRank ) )
{
set_dhudmessage( RRR, GGG, BBB, -1.0, 0.35, 0, get_pcvar_float( g_HudDisplay ) );
show_dhudmessage( id, "[ %s ][ Rank %i/%i ] %s", szName, iPlayerStats, get_statsnum( ), g_Text );
}
else if( get_pcvar_num( g_ShowName ) && !get_pcvar_num( g_ShowRank ) )
{
set_dhudmessage( RRR, GGG, BBB, -1.0, 0.35, 0, get_pcvar_float( g_HudDisplay ) );
show_dhudmessage( id, "[ %s ] %s", szName, g_Text );
}
else if( get_pcvar_num( g_ShowRank ) && !get_pcvar_num( g_ShowName ) )
{
set_dhudmessage( RRR, GGG, BBB, -1.0, 0.35, 0, get_pcvar_float( g_HudDisplay ) );
show_dhudmessage( id, "[ %i/%i ] %s", iPlayerStats, get_statsnum( ), g_Text );
}
else if( !get_pcvar_num( g_ShowName ) && !get_pcvar_num( g_ShowRank ) )
{
set_dhudmessage( RRR, GGG, BBB, -1.0, 0.35, 0, get_pcvar_float( g_HudDisplay ) );
show_dhudmessage( id, "%s", g_Text );
}
}