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

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

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

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

Звук при отправке сообщений

Статус пользователя Fraig
сообщение 5.1.2015, 11:50
Сообщение #1
Стаж: 14 лет

Сообщений: 93
Благодарностей: 7
Полезность: < 0

Есть такой плагин, в котором при отправке сообщения проигрывается звук. (https://c-s.net.ua/forum/topic9576.html)
Как переделать данный плагин, чтобы звук был только от сообщений администратора?
Функция отключения/включения даже не нужна и звук нужно сделать один (звук сообщения в контакте в формате mp3)

Исходник того плагина
Код:
#include < amxmodx >

new const PLUGIN[] = "Say Signal"
new const VERSION[] = "1.0"
new const AUTHOR[] = "[jsn]"

new const SEND_SOUND[] = "buttons/lightswitch2.wav"
new const RCV_SOUND[] = "buttons/blip1.wav"

new g_AllowSwitch
new bool:g_bPlayForMe[ 33 ]

public plugin_init()
{
register_plugin( PLUGIN, VERSION, AUTHOR )

g_AllowSwitch = register_cvar( "ss_allow_switch", "1" )

register_clcmd( "say", "say_signal" )
register_clcmd( "say_team", "say_team_signal" )
register_clcmd( "say .signal", "cmd_switch" )
register_clcmd( "say_team .signal", "cmd_switch" )
}

public plugin_precache()
{
precache_sound( SEND_SOUND )
precache_sound( RCV_SOUND )
}

public say_signal( id )
{
send_signal( id )

static plist[ 32 ], pnum, pid

get_players( plist, pnum, ( is_user_alive( id ) ) ? "c" : "bc" )

for ( --pnum; pnum >= 0; pnum-- )
{
pid = plist[ pnum ]
rcv_signal( pid, id )
}

return PLUGIN_CONTINUE
}

public say_team_signal( id )
{
send_signal( id )

static plist[ 32 ], pnum, pid

switch ( get_user_team( id ) )
{
case 1: get_players( plist, pnum, ( is_user_alive( id ) ) ? "ce" : "bce", "TERRORIST" )
case 2: get_players( plist, pnum, ( is_user_alive( id ) ) ? "ce" : "bce", "CT" )
case 3: get_players( plist, pnum, "ce", "SPECTATOR" )
}

for ( --pnum; pnum >= 0; pnum-- )
{
pid = plist[ pnum ]
rcv_signal ( pid, id )
}

return PLUGIN_CONTINUE
}

public cmd_switch( id )
{
if ( !get_pcvar_num( g_AllowSwitch ) )
return PLUGIN_CONTINUE

switch( g_bPlayForMe[id] )
{
case true:
{
g_bPlayForMe[ id ] = false
client_print( id, print_chat, "[Say Signal] Disabled for you." )
}
case false:
{
g_bPlayForMe[ id ] = true
client_print( id, print_chat, "[Say Signal] Enabled for you.")
}
}

return PLUGIN_CONTINUE
}

send_signal( id )
if ( g_bPlayForMe[ id ] )
emit_sound( id, CHAN_ITEM, SEND_SOUND, VOL_NORM, ATTN_NORM, 0, PITCH_NORM )

rcv_signal( pid, id )
if ( g_bPlayForMe[ pid ] && pid != id )
emit_sound( pid, CHAN_ITEM, RCV_SOUND, VOL_NORM, ATTN_NORM, 0, PITCH_NORM )

public client_connect( id )
g_bPlayForMe[ id ] = true


Звук

Прикрепленный файл  ___________________________.mp3 ( 277,58 килобайт ) Кол-во скачиваний: 42


Отредактировал: Fraig, - 5.1.2015, 12:02
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Fullserver
сообщение 5.1.2015, 14:31
Сообщение #2


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

Стаж: 11 лет

Сообщений: 5122
Благодарностей: 2100
Полезность: 1394

Готово
Код
#include < amxmodx >
#include < amxmisc >

new const PLUGIN[] = "Say Signal"
new const VERSION[] = "1.0"
new const AUTHOR[] = "[jsn]"

new const SEND_SOUND[] = "buttons/lightswitch2.wav"
new const RCV_SOUND[] = "buttons/blip1.wav"

new g_AllowSwitch
new bool:g_bPlayForMe[ 33 ]

public plugin_init()
{
   register_plugin( PLUGIN, VERSION, AUTHOR )

   g_AllowSwitch = register_cvar( "ss_allow_switch", "1" )

   register_clcmd( "say", "say_signal" )
   register_clcmd( "say_team", "say_team_signal" )
   register_clcmd( "say .signal", "cmd_switch" )
   register_clcmd( "say_team .signal", "cmd_switch" )
}

public plugin_precache()
{
   precache_sound( SEND_SOUND )
   precache_sound( RCV_SOUND )
}

public say_signal( id )
{
   if(!is_user_admin(id))
       return PLUGIN_CONTINUE
  
   send_signal( id )

   static plist[ 32 ], pnum, pid

   get_players( plist, pnum, ( is_user_alive( id ) ) ? "c" : "bc" )

   for ( --pnum; pnum >= 0; pnum-- )
   {
      pid = plist[ pnum ]
      rcv_signal( pid, id )
   }

   return PLUGIN_CONTINUE
}

public say_team_signal( id )
{
   if(!is_user_admin(id))
       return PLUGIN_CONTINUE

   send_signal( id )

   static plist[ 32 ], pnum, pid

   switch ( get_user_team( id ) )
   {
      case 1:   get_players( plist, pnum, ( is_user_alive( id ) ) ? "ce" : "bce", "TERRORIST" )
      case 2: get_players( plist, pnum, ( is_user_alive( id ) ) ? "ce" : "bce", "CT" )
      case 3: get_players( plist, pnum, "ce", "SPECTATOR" )
   }

   for ( --pnum; pnum >= 0; pnum-- )
   {
      pid = plist[ pnum ]
      rcv_signal ( pid, id )
   }

   return PLUGIN_CONTINUE
}

public cmd_switch( id )
{
   if ( !get_pcvar_num( g_AllowSwitch ) )
      return PLUGIN_CONTINUE

   switch( g_bPlayForMe[id] )
   {
      case true:
      {
         g_bPlayForMe[ id ] = false
         client_print( id, print_chat, "[Say Signal] Disabled for you." )
      }
      case false:
      {
         g_bPlayForMe[ id ] = true
         client_print( id, print_chat, "[Say Signal] Enabled for you.")
      }
   }

   return PLUGIN_CONTINUE
}

send_signal( id )
   if ( g_bPlayForMe[ id ] )
      emit_sound( id, CHAN_ITEM, SEND_SOUND, VOL_NORM, ATTN_NORM, 0, PITCH_NORM )

rcv_signal( pid, id )
   if ( g_bPlayForMe[ pid ] && pid != id )
      emit_sound( pid, CHAN_ITEM, RCV_SOUND, VOL_NORM, ATTN_NORM, 0, PITCH_NORM )

public client_connect( id )
   g_bPlayForMe[ id ] = true


Отредактировал: Fullserver, - 5.1.2015, 14:31
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя Fraig
сообщение 5.1.2015, 15:41
Сообщение #3
Стаж: 14 лет

Сообщений: 93
Благодарностей: 7
Полезность: < 0

Цитата(Fullserver @ 5.1.2015, 15:31) *
Готово
Код
#include < amxmodx >
#include < amxmisc >

new const PLUGIN[] = "Say Signal"
new const VERSION[] = "1.0"
new const AUTHOR[] = "[jsn]"

new const SEND_SOUND[] = "buttons/lightswitch2.wav"
new const RCV_SOUND[] = "buttons/blip1.wav"

new g_AllowSwitch
new bool:g_bPlayForMe[ 33 ]

public plugin_init()
{
   register_plugin( PLUGIN, VERSION, AUTHOR )

   g_AllowSwitch = register_cvar( "ss_allow_switch", "1" )

   register_clcmd( "say", "say_signal" )
   register_clcmd( "say_team", "say_team_signal" )
   register_clcmd( "say .signal", "cmd_switch" )
   register_clcmd( "say_team .signal", "cmd_switch" )
}

public plugin_precache()
{
   precache_sound( SEND_SOUND )
   precache_sound( RCV_SOUND )
}

public say_signal( id )
{
   if(!is_user_admin(id))
       return PLUGIN_CONTINUE
  
   send_signal( id )

   static plist[ 32 ], pnum, pid

   get_players( plist, pnum, ( is_user_alive( id ) ) ? "c" : "bc" )

   for ( --pnum; pnum >= 0; pnum-- )
   {
      pid = plist[ pnum ]
      rcv_signal( pid, id )
   }

   return PLUGIN_CONTINUE
}

public say_team_signal( id )
{
   if(!is_user_admin(id))
       return PLUGIN_CONTINUE

   send_signal( id )

   static plist[ 32 ], pnum, pid

   switch ( get_user_team( id ) )
   {
      case 1:   get_players( plist, pnum, ( is_user_alive( id ) ) ? "ce" : "bce", "TERRORIST" )
      case 2: get_players( plist, pnum, ( is_user_alive( id ) ) ? "ce" : "bce", "CT" )
      case 3: get_players( plist, pnum, "ce", "SPECTATOR" )
   }

   for ( --pnum; pnum >= 0; pnum-- )
   {
      pid = plist[ pnum ]
      rcv_signal ( pid, id )
   }

   return PLUGIN_CONTINUE
}

public cmd_switch( id )
{
   if ( !get_pcvar_num( g_AllowSwitch ) )
      return PLUGIN_CONTINUE

   switch( g_bPlayForMe[id] )
   {
      case true:
      {
         g_bPlayForMe[ id ] = false
         client_print( id, print_chat, "[Say Signal] Disabled for you." )
      }
      case false:
      {
         g_bPlayForMe[ id ] = true
         client_print( id, print_chat, "[Say Signal] Enabled for you.")
      }
   }

   return PLUGIN_CONTINUE
}

send_signal( id )
   if ( g_bPlayForMe[ id ] )
      emit_sound( id, CHAN_ITEM, SEND_SOUND, VOL_NORM, ATTN_NORM, 0, PITCH_NORM )

rcv_signal( pid, id )
   if ( g_bPlayForMe[ pid ] && pid != id )
      emit_sound( pid, CHAN_ITEM, RCV_SOUND, VOL_NORM, ATTN_NORM, 0, PITCH_NORM )

public client_connect( id )
   g_bPlayForMe[ id ] = true


А как сделать, чтобы проигрывался mp3 файл? И будет ли скачиваться этот файл при заходе на сервер? А то был один плагин звуковой, пока я сам не закинул звук в свою кс плагин не работал.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fraig
сообщение 5.1.2015, 15:55
Сообщение #4
Стаж: 14 лет

Сообщений: 93
Благодарностей: 7
Полезность: < 0

Цитата(Fraig @ 5.1.2015, 16:41) *
А как сделать, чтобы проигрывался mp3 файл?

С этим проблема отпала, конвертировал в wav. Только остался вопрос: будет ли данный файл скачиваться при заходе на сервер?

Прикрепленный файл  message.wav ( 1,19 мегабайт ) Кол-во скачиваний: 35
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
voed
сообщение 5.1.2015, 16:01
Сообщение #5
Стаж: 11 лет

Сообщений: 2593
Благодарностей: 1760
Полезность: 405

Цитата(Fraig @ 5.1.2015, 15:55) *
С этим проблема отпала, конвертировал в wav. Только остался вопрос: будет ли данный файл скачиваться при заходе на сервер?

Прикрепленный файл  message.wav ( 1,19 мегабайт ) Кол-во скачиваний: 35

да
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fraig
сообщение 5.1.2015, 17:42
Сообщение #6
Стаж: 14 лет

Сообщений: 93
Благодарностей: 7
Полезность: < 0

Файл успешно скачался, но при отправке сообщений звука никакого нет. Кто-нибудь попробовал себе поставить?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fullserver
сообщение 5.1.2015, 20:19
Сообщение #7


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

Стаж: 11 лет

Сообщений: 5122
Благодарностей: 2100
Полезность: 1394

Цитата(Fraig @ 5.1.2015, 17:42) *
Файл успешно скачался, но при отправке сообщений звука никакого нет. Кто-нибудь попробовал себе поставить?


Для того чтобы wav звук работал он должен быть 8 bit mono.

Переконвертировал, прикрепил правильный wav.
На будущее используй GoldWave для конвертации.

Прикрепленный файл  message.wav ( 305,53 килобайт ) Кол-во скачиваний: 16


Отредактировал: Fullserver, - 5.1.2015, 20:21
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Fraig
сообщение 5.1.2015, 21:32
Сообщение #8
Стаж: 14 лет

Сообщений: 93
Благодарностей: 7
Полезность: < 0

Цитата(Fullserver @ 5.1.2015, 20:19) *
Для того чтобы wav звук работал он должен быть 8 bit mono.

Переконвертировал, прикрепил правильный wav.
На будущее используй GoldWave для конвертации.

Прикрепленный файл  message.wav ( 305,53 килобайт ) Кол-во скачиваний: 16


Спасибо, добрый человек!
Я немного урезал звук (конвертировал в Sony Vegas).

Конечный вариант
Исходный код
Код:
#include < amxmodx >
#include < amxmisc >

new const PLUGIN[] = "Say Signal"
new const VERSION[] = "1.0"
new const AUTHOR[] = "[jsn]"

new const SEND_SOUND[] = "events/new_message.wav"
new const RCV_SOUND[] = "events/new_message.wav"

new g_AllowSwitch
new bool:g_bPlayForMe[ 33 ]

public plugin_init()
{
register_plugin( PLUGIN, VERSION, AUTHOR )

g_AllowSwitch = register_cvar( "ss_allow_switch", "1" )

register_clcmd( "say", "say_signal" )
register_clcmd( "say_team", "say_team_signal" )
register_clcmd( "say .signal", "cmd_switch" )
register_clcmd( "say_team .signal", "cmd_switch" )
}

public plugin_precache()
{
precache_sound( SEND_SOUND )
precache_sound( RCV_SOUND )
}

public say_signal( id )
{
if(!is_user_admin(id))
return PLUGIN_CONTINUE

send_signal( id )

static plist[ 32 ], pnum, pid

get_players( plist, pnum, ( is_user_alive( id ) ) ? "c" : "bc" )

for ( --pnum; pnum >= 0; pnum-- )
{
pid = plist[ pnum ]
rcv_signal( pid, id )
}

return PLUGIN_CONTINUE
}

public say_team_signal( id )
{
if(!is_user_admin(id))
return PLUGIN_CONTINUE

send_signal( id )

static plist[ 32 ], pnum, pid

switch ( get_user_team( id ) )
{
case 1: get_players( plist, pnum, ( is_user_alive( id ) ) ? "ce" : "bce", "TERRORIST" )
case 2: get_players( plist, pnum, ( is_user_alive( id ) ) ? "ce" : "bce", "CT" )
case 3: get_players( plist, pnum, "ce", "SPECTATOR" )
}

for ( --pnum; pnum >= 0; pnum-- )
{
pid = plist[ pnum ]
rcv_signal ( pid, id )
}

return PLUGIN_CONTINUE
}

public cmd_switch( id )
{
if ( !get_pcvar_num( g_AllowSwitch ) )
return PLUGIN_CONTINUE

switch( g_bPlayForMe[id] )
{
case true:
{
g_bPlayForMe[ id ] = false
client_print( id, print_chat, "[Звук сообщений] Выключен для Вас." )
}
case false:
{
g_bPlayForMe[ id ] = true
client_print( id, print_chat, "[Звук сообщений] Включен для Вас.")
}
}

return PLUGIN_CONTINUE
}

send_signal( id )
if ( g_bPlayForMe[ id ] )
emit_sound( id, CHAN_ITEM, SEND_SOUND, VOL_NORM, ATTN_NORM, 0, PITCH_NORM )

rcv_signal( pid, id )
if ( g_bPlayForMe[ pid ] && pid != id )
emit_sound( pid, CHAN_ITEM, RCV_SOUND, VOL_NORM, ATTN_NORM, 0, PITCH_NORM )

public client_connect( id )
{
g_bPlayForMe[ id ] = true
}

Прикрепленный файл  new_message.WAV ( 24,54 килобайт ) Кол-во скачиваний: 25
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fullserver
сообщение 5.1.2015, 21:38
Сообщение #9


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

Стаж: 11 лет

Сообщений: 5122
Благодарностей: 2100
Полезность: 1394

Fraig, Без проблем.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fraig
сообщение 5.1.2015, 23:56
Сообщение #10
Стаж: 14 лет

Сообщений: 93
Благодарностей: 7
Полезность: < 0

Еще можно такой звук поставить
Прикрепленный файл  dispenser.wav ( 17,55 килобайт ) Кол-во скачиваний: 20


Отредактировал: Fraig, - 5.1.2015, 23:59
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя 3aB}{o3
сообщение 6.1.2015, 0:31
Сообщение #11


Стаж: 18 лет

Сообщений: 2145
Благодарностей: 825
Полезность: 521

Плагин который палит админа перед читаком
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Takashi Murakami
сообщение 6.1.2015, 0:33
Сообщение #12
Стаж: 14 лет

Сообщений: 797
Благодарностей: 459
Полезность: 514

Цитата(3aB}{o3 @ 6.1.2015, 1:31) *
Плагин который палит админа перед читаком


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