Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

[Изменить]Timeleft Dhud

, (добавить звук в плагин)
Статус пользователя Jlx7
сообщение 22.2.2015, 22:35
Сообщение #1


Стаж: 12 лет
Город: Moscow

Сообщений: 322
Благодарностей: 243
Полезность: 346

Есть "интересный" плагин Timeleft DHUD. Отображает вверху экрана инфо о раундах и времени до голосования/смены карты.

В общем прошу пожалуйста сделать так чтобы каждые n-ое число минут была озвучка сколько времени осталось.
Например времени до смены карты 120 минут - каждые 15 минут озвучивает сколько осталось.
код плагина
Код:
#include <amxmodx>
#include <amxmisc>

/* Special thanks to Blizzard for dhudmessae stock. */

new round;
new timestring[31]

public plugin_init()
{
register_plugin("dHUD Top message", "1.0", "Noobish")
register_event("HLTV", "roundstart", "a", "1=0", "2=0");
register_event("TextMsg", "restartround", "a", "2=#Game_will_restart_in");
set_task(1.0, "hudclient", 0, _, _, "b")
register_cvar( "sv_hudmsgver", "1.0" );
}

public hudclient()
{
new timeleft = get_timeleft()
get_time("%H:%M",timestring,8)

set_dhudmessage(128, 128, 128, -1.0, 0.02, 0, 0.1, 0.9, 0.1, 0.1)
show_dhudmessage(0, "[Раунд: %d | %d:%02d]", round, timeleft / 60, timeleft % 60);
}
public restartround()
{
round = 0;
}
public roundstart()
{
round += 1;
}

////////////////////////////////////////////////////////////
/* DHUD MESSAGE STOCKS - BY BLIZZARD */
////////////////////////////////////////////////////////////
stock __dhud_color;
stock __dhud_x;
stock __dhud_y;
stock __dhud_effect;
stock __dhud_fxtime;
stock __dhud_holdtime;
stock __dhud_fadeintime;
stock __dhud_fadeouttime;
stock __dhud_reliable;

stock set_dhudmessage( red = 0, green = 160, blue = 0, Float:x = -1.0, Float:y = 0.65, effects = 2, Float:fxtime = 6.0, Float:holdtime = 3.0, Float:fadeintime = 0.1, Float:fadeouttime = 1.5, bool:reliable = false )
{
#define clamp_byte(%1) ( clamp( %1, 0, 255 ) )
#define pack_color(%1,%2,%3) ( %3 + ( %2 << 8 ) + ( %1 << 16 ) )

__dhud_color = pack_color( clamp_byte( red ), clamp_byte( green ), clamp_byte( blue ) );
__dhud_x = _:x;
__dhud_y = _:y;
__dhud_effect = effects;
__dhud_fxtime = _:fxtime;
__dhud_holdtime = _:holdtime;
__dhud_fadeintime = _:fadeintime;
__dhud_fadeouttime = _:fadeouttime;
__dhud_reliable = _:reliable;

return 1;
}

stock show_dhudmessage( index, const message[], any:... )
{
new buffer[ 128 ];
new numArguments = numargs();

if( numArguments == 2 )
{
send_dhudMessage( index, message );
}
else if( index || numArguments == 3 )
{
vformat( buffer, charsmax( buffer ), message, 3 );
send_dhudMessage( index, buffer );
}
else
{
new playersList[ 32 ], numPlayers;
get_players( playersList, numPlayers, "ch" );

if( !numPlayers )
{
return 0;
}

new Array:handleArrayML = ArrayCreate();

for( new i = 2, j; i < numArguments; i++ )
{
if( getarg( i ) == LANG_PLAYER )
{
while( ( buffer[ j ] = getarg( i + 1, j++ ) ) ) {}
j = 0;

if( GetLangTransKey( buffer ) != TransKey_Bad )
{
ArrayPushCell( handleArrayML, i++ );
}
}
}

new size = ArraySize( handleArrayML );

if( !size )
{
vformat( buffer, charsmax( buffer ), message, 3 );
send_dhudMessage( index, buffer );
}
else
{
for( new i = 0, j; i < numPlayers; i++ )
{
index = playersList[ i ];

for( j = 0; j < size; j++ )
{
setarg( ArrayGetCell( handleArrayML, j ), 0, index );
}

vformat( buffer, charsmax( buffer ), message, 3 );
send_dhudMessage( index, buffer );
}
}

ArrayDestroy( handleArrayML );
}

return 1;
}

stock send_dhudMessage( const index, const message[] )
{
message_begin( __dhud_reliable ? ( index ? MSG_ONE : MSG_ALL ) : ( index ? MSG_ONE_UNRELIABLE : MSG_BROADCAST ), SVC_DIRECTOR, _, index );
{
write_byte( strlen( message ) + 31 );
write_byte( DRC_CMD_MESSAGE );
write_byte( __dhud_effect );
write_long( __dhud_color );
write_long( __dhud_x );
write_long( __dhud_y );
write_long( __dhud_fadeintime );
write_long( __dhud_fadeouttime );
write_long( __dhud_holdtime );
write_long( __dhud_fxtime );
write_string( message );
}
message_end();
}
Чрезмерно благодарен заранее тому кто сделает smile.gif .

Отредактировал: Jlx7, - 22.2.2015, 22:37


HI!!!!!!!!!!!!!!!!!!!!!!!!!!!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Jlx7
сообщение 23.2.2015, 18:00
Сообщение #2


Стаж: 12 лет
Город: Moscow

Сообщений: 322
Благодарностей: 243
Полезность: 346

Закройте тему. Уже сделали.


HI!!!!!!!!!!!!!!!!!!!!!!!!!!!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: