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

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

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

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

Звук при броске гранаты

, Стоит 1 звук. надо сделать рандом
Статус пользователя Masardo
сообщение 19.2.2020, 7:11
Сообщение #1


Стаж: 9 лет 4 месяца
Город: Харьков

Сообщений: 67
Благодарностей: 2
Полезность: 26

Привет всем. При броске гранат воспроизводится только один звук, можно его переделать чтоб звук был рандомный из 8 звуков?
1.wav 2.wav 3.wav 4.wav 5.wav 6.wav 7.wav 8.wav

CODE
#include <amxmodx>
#include <csx>

new const sound_fireinhole[] = { "1.wav" }

public plugin_precache()
{
precache_sound(sound_fireinhole)
}

public plugin_init()
{
register_plugin( "'Fire in the hole'", "1.0", "Leo_[BH]" );

register_message( get_user_msgid( "SendAudio" ), "MessageSendAudio" );
}

public grenade_throw(id,ent,wid)
{
if(is_user_alive(id))
{
emit_sound(id, CHAN_VOICE, sound_fireinhole, 1.0, ATTN_NORM, 0, 100 );
}
}

public MessageSendAudio()
{
if(EqualValue( 2, "%!MRAD_FIREINHOLE" ))
{
return PLUGIN_HANDLED;
}

return PLUGIN_CONTINUE;
}

EqualValue( const iParam, const szString[ ] )
{
new szTemp[ 18 ];
get_msg_arg_string( iParam, szTemp, 17 );

return ( equal( szTemp, szString ) ) ? 1 : 0;
}


present черт©
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя HAPKOMAH
сообщение 19.2.2020, 10:29
Сообщение #2


Стаж: 6 лет 4 месяца

Сообщений: 21
Благодарностей: 5
Полезность: 181

Masardo,
Код
new const sound_fireinhole[ ][ ] =
{
    "dir/file1.wav",
    "dir/file2.wav",
    "dir/file3.wav"
    //и т.д
}

public plugin_precache( )
{    
    
    new i;
    for( i = 0; i < sizeof sound_fireinhole; i++ )
    {
        precache_sound( sound_fireinhole[ i ] );
    }

}

emit_sound( ent, CHAN_STATIC, sound_fireinhole[ random_num( 0, charsmax( sound_fireinhole ) ) ], VOL_NORM, ATTN_NORM, 0, PITCH_NORM );
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя $@NyA
сообщение 19.2.2020, 10:35
Сообщение #3


Иконка группы

Стаж: 18 лет

Сообщений: 987
Благодарностей: 529
Полезность: 1050

Masardo,
Пример - макет.

Код:
   precache_sound("1.wav")
precache_sound("2.wav")
precache_sound("3.wav")
precache_sound("4.wav")
precache_sound("5.wav" )
precache_sound("6.wav" )
precache_sound("7.wav" )
precache_sound("8.wav" )

Далее там,где вызываеться сам Бросок грены
Код:
switch(random_num(0, 7))
{
case 0:
engfunc(EngFunc_EmitSound, 0, channel, "1.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
case 1:
engfunc(EngFunc_EmitSound, 0, channel, "2.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
case 2:
engfunc(EngFunc_EmitSound, 0, channel, "3.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
case 3:
engfunc(EngFunc_EmitSound, 0, channel, "4.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
case 4:
engfunc(EngFunc_EmitSound, 0, channel, "5.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
case 5:
engfunc(EngFunc_EmitSound, 0, channel, "6.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
case 6:
engfunc(EngFunc_EmitSound, 0, channel, "7.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
case 7:
engfunc(EngFunc_EmitSound, 0, channel, "8.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
}
}


МультиМод CS
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Masardo
сообщение 19.2.2020, 11:06
Сообщение #4


Стаж: 9 лет 4 месяца
Город: Харьков

Сообщений: 67
Благодарностей: 2
Полезность: 26

$@NyA, вот так?

#include <amxmodx>
#include <csx>

new const sound_fireinhole[] = []

public plugin_precache()
{
precache_sound("1.wav")
precache_sound("2.wav")
precache_sound("3.wav")
precache_sound("4.wav")
precache_sound("5.wav" )
precache_sound("6.wav" )
precache_sound("7.wav" )
precache_sound("8.wav" )
}

public plugin_init()
{
register_plugin( "'Fire in the hole'", "1.0", "Leo_[BH]" );

register_message( get_user_msgid( "SendAudio" ), "MessageSendAudio" );
}

public grenade_throw(id,ent,wid)
{
if(is_user_alive(id))
{
switch(random_num(0, 7))
{
case 0:
engfunc(EngFunc_EmitSound, 0, channel, "1.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
case 1:
engfunc(EngFunc_EmitSound, 0, channel, "2.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
case 2:
engfunc(EngFunc_EmitSound, 0, channel, "3.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
case 3:
engfunc(EngFunc_EmitSound, 0, channel, "4.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
case 4:
engfunc(EngFunc_EmitSound, 0, channel, "5.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
case 5:
engfunc(EngFunc_EmitSound, 0, channel, "6.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
case 6:
engfunc(EngFunc_EmitSound, 0, channel, "7.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
case 7:
engfunc(EngFunc_EmitSound, 0, channel, "8.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
}
}
}
}

public MessageSendAudio()
{
if(EqualValue( 2, "%!MRAD_FIREINHOLE" ))
{
return PLUGIN_HANDLED;
}

return PLUGIN_CONTINUE;
}

EqualValue( const iParam, const szString[ ] )
{
new szTemp[ 18 ];
get_msg_arg_string( iParam, szTemp, 17 );

return ( equal( szTemp, szString ) ) ? 1 : 0;
}


present черт©
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Masardo
сообщение 19.2.2020, 11:14
Сообщение #5


Стаж: 9 лет 4 месяца
Город: Харьков

Сообщений: 67
Благодарностей: 2
Полезность: 26

Masardo, Явно не так...компилит с ошибками :D


present черт©
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя $@NyA
сообщение 19.2.2020, 12:30
Сообщение #6


Иконка группы

Стаж: 18 лет

Сообщений: 987
Благодарностей: 529
Полезность: 1050

Masardo,
Конечно не так.
Я привел пример,но ты последовал примеру в точности,а нужно было посмотреть,как в твоем коде устроено через emit_sound
И подстроить.
Ну ладно..такое дело...
Я тоже раньше так делал в начале)))

Привел Код в Робочее состояние + проверил у себя
Работает.

На заметку: звуки желательно резать короткие,и пути к звукам / названия ты можешь свои поставить
Код:
#include <amxmodx>
#include <csx>

public plugin_precache()
{
precache_sound("1.wav")
precache_sound("2.wav")
precache_sound("3.wav")
precache_sound("4.wav")
precache_sound("5.wav" )
precache_sound("6.wav" )
precache_sound("7.wav" )
precache_sound("8.wav" )
}

public plugin_init()
{
register_plugin( "'Fire in the hole'", "1.0", "Leo_[BH]" );
register_message( get_user_msgid( "SendAudio" ), "MessageSendAudio" );
}

public grenade_throw(id,ent,wid)
{
if(is_user_alive(id))
{
switch(random_num(0, 7))
{
case 0:
emit_sound(id, CHAN_VOICE, "1.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
case 1:
emit_sound(id, CHAN_VOICE, "2.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
case 2:
emit_sound(id, CHAN_VOICE, "3.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
case 3:
emit_sound(id, CHAN_VOICE, "4.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
case 4:
emit_sound(id, CHAN_VOICE, "5.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
case 5:
emit_sound(id, CHAN_VOICE, "6.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
case 6:
emit_sound(id, CHAN_VOICE, "7.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
case 7:
emit_sound(id, CHAN_VOICE, "8.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
}
}
}

public MessageSendAudio()
{
if(EqualValue( 2, "%!MRAD_FIREINHOLE" ))
{
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}

EqualValue( const iParam, const szString[ ] )
{
new szTemp[ 18 ];
get_msg_arg_string( iParam, szTemp, 17 );

return ( equal( szTemp, szString ) ) ? 1 : 0;
}


МультиМод CS
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 3 раз
   + Цитировать сообщение
Статус пользователя Masardo
сообщение 19.2.2020, 14:16
Сообщение #7


Стаж: 9 лет 4 месяца
Город: Харьков

Сообщений: 67
Благодарностей: 2
Полезность: 26

$@NyA, Спасибо большое!)))))))


present черт©
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя d3m37r4
сообщение 19.2.2020, 16:47
Сообщение #8


Стаж: 11 лет

Сообщений: 304
Благодарностей: 119
Полезность: 604

страшное дело, так делать
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 19.2.2020, 17:03
Сообщение #9
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Главное ‒ результат есть, ТС доволен good.gif Так xep, кто помогает. А что плагин в стиле 'код месяца' ‒ дело второе smile.gif

Отредактировал: Safety1st, - 19.2.2020, 17:05
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 3 раз
   + Цитировать сообщение
Статус пользователя HAPKOMAH
сообщение 19.2.2020, 18:56
Сообщение #10


Стаж: 6 лет 4 месяца

Сообщений: 21
Благодарностей: 5
Полезность: 181

Цитата(Safety1st @ 19.2.2020, 19:03) *
Главное ‒ результат есть, ТС доволен good.gif Так xep, кто помогает. А что плагин в стиле 'код месяца' ‒ дело второе smile.gif

ну вообще-то я помогаю ... пытаюсь ... не могу быстра писать сообщения модерацию проходят ))
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя $@NyA
сообщение 19.2.2020, 19:58
Сообщение #11


Иконка группы

Стаж: 18 лет

Сообщений: 987
Благодарностей: 529
Полезность: 1050

Safety1st,
Так и знал,что и здесь не пройдёшь мимо)))
"Код месяца"?Не,не слышал
А вот "Код минуты" - это подходит)))


МультиМод CS
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 19.2.2020, 21:42
Сообщение #12
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Не-не, твой труд на благо простых участников заслуживает отдельного топика good.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: