PHP Code:
#include < amxmodx >
#include < amxmisc >
#pragma semicolon 1
#define MAX_SECONDS 16
enum _: iRGB
{
r,
g,
b
};
enum ( += 1337 )
{
TASK_ONE,
TASK_TWO
};
new const gHudColors[ MAX_SECONDS ][ iRGB ] =
{
{ 192, 0, 1 },
{ 236, 0, 2 },
{ 255, 11, 0 },
{ 255, 32, 0 },
{ 255, 55, 0 },
{ 255, 114, 0 },
{ 255, 150, 0 },
{ 255, 207, 0 },
{ 255, 238, 0 },
{ 194, 232, 47 },
{ 131, 189, 96 },
{ 70, 160, 141 },
{ 32, 136, 168 },
{ 6, 118, 183 },
{ 5, 83, 154 },
{ 255, 255, 255 }
};
new const gSoundsSpeak[ MAX_SECONDS ][ ] =
{
"Evil-Night/Countdown/zero.wav",
"Evil-Night/Countdown/one.wav",
"Evil-Night/Countdown/two.wav",
"Evil-Night/Countdown/three.wav",
"Evil-Night/Countdown/four.wav",
"Evil-Night/Countdown/five.wav",
"Evil-Night/Countdown/six.wav",
"Evil-Night/Countdown/seven.wav",
"Evil-Night/Countdown/eight.wav",
"Evil-Night/Countdown/nine.wav",
"Evil-Night/Countdown/ten.wav",
"Evil-Night/Countdown/eleven.wav",
"Evil-Night/Countdown/twelve.wav",
"Evil-Night/Countdown/thirteen.wav",
"Evil-Night/Countdown/fourteen.wav",
"Evil-Night/Countdown/fifteen.wav"
};
new gCountTimer;
new gHudSync;
public plugin_init( )
{
register_plugin( "", "", "" );
register_logevent( "LOGRoundStart", 2, "1=Round_Start" );
gHudSync = CreateHudSyncObj( );
}
public plugin_precache( )
{
new i;
for( i = 0; i < MAX_SECONDS; i++ )
{
precache_sound( gSoundsSpeak[ i ] );
}
}
public LOGRoundStart( )
{
remove_task( TASK_ONE );
remove_task( TASK_TWO );
set_task( float( MAX_SECONDS ), "RemoveTimerHUD", TASK_ONE, _, _, "b" );
set_task( 1.0, "ShowCountTimer", TASK_TWO, _, _, "a", MAX_SECONDS );
}
public ShowCountTimer( )
{
gCountTimer++;
new iTimer = MAX_SECONDS - gCountTimer;
set_hudmessage( gHudColors[ iTimer ][ r ], gHudColors[ iTimer ][ g ], gHudColors[ iTimer ][ b ], -1.0, 0.28, 2, 0.02, 1.0, 0.01, 0.1, 1 );
ShowSyncHudMsg( 0, gHudSync, "CountDown: %d", iTimer );
if( iTimer <= MAX_SECONDS )
{
new szNumToWord[ 60 ];
num_to_word( iTimer, szNumToWord, charsmax( szNumToWord ) );
client_cmd( 0, "speak ^"Evil-Night/Countdown/%s^"", szNumToWord );
}
}
public RemoveTimerHUD( )
{
remove_task( TASK_ONE );
remove_task( TASK_TWO );
gCountTimer = 0;
}