Half-Life и Adrenaline Gamer форум

Всё об игре в Халф-Лайф и АГ
Текущее время: 01 июн 2015, 08:22

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 11 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Sound bug - the sound repeats forever
СообщениеДобавлено: 19 янв 2012, 17:19 
Не в сети
Зарегистрирован:
07 сен 2011, 12:20
Последнее посещение:
26 май 2015, 16:13
Сообщения: 74
I think you've all seen this bug when the sound of a door or elevator repeats forever and becomes very annoyng. I've reproduced the bug in the demo.
A client can stop it by writing "stopsound" in console but if a player creates it again you will again hear it
I also found 2 plugins that should fix a similar bug in counter-strike maps like cs_siege. I couldn't test them in hl because I get bad load errror. Maybe they will help you creating a plugin that fixes that bug but without using stopsound.

Here are the plugins

Код:
#include <amxmodx>
#include <amxmisc>
#include <engine>

new enabled, allow

public plugin_init()
{
    register_plugin("Fix Echo Sounds","1.0","Throstur")
    enabled = register_cvar("amx_soundfix","1")
    allow = register_cvar("amx_soundifx_pallow","1")
    register_clcmd("say /fixsound","cmdStopsound")
    register_srvcmd("soundfix","fRemove")
   
    set_task(0.1,"fRemove")
}

public fRemove()
{
    if(get_pcvar_num(enabled) != 1)
        return PLUGIN_HANDLED
   
    new Echo = find_ent_by_class(0,"env_sound")
    while(Echo)
    {
        remove_entity(Echo)
        Echo = find_ent_by_class(Echo,"env_sound")
    }
    return PLUGIN_HANDLED
}

public cmdStopsound(id)
{
    if(get_pcvar_num(allow) == 1)
    {
        client_cmd(id,"stopsound;room_type 00")
        client_cmd(id,"stopsound")
        client_print(id,print_chat,"[AMXX] Your sound will no longer echo now.")
    }
    else
    {
        client_print(id,print_chat,"[AMXX] I'm sorry, manual sound fixing is disabled.")
        return PLUGIN_HANDLED
    }
    return PLUGIN_CONTINUE

Код:
#include <amxmodx>
#include <amxmisc>

new enabled, allow

public plugin_init()
{
   register_plugin("Mini Sound Fixer" , "1.0" , "Throstur")
   register_event("ResetHUD" , "Event_Reset" , "b")
   register_clcmd("say /fixsound" , "cmdStopsound")
   
   allow = register_cvar("amx_msoundfix_pallow","1")
   enabled = register_cvar("amx_msoundfix","1")
}

public Event_Reset(id)
{
   if(get_pcvar_num(enabled) == 1)
   {
      client_cmd(id,"room_type 00")
   }
}

public cmdStopsound(id)
{
   if((get_pcvar_num(allow) == 1) || (access(id,ADMIN_IMMUNITY)) )
   {
      client_cmd(id,"stopsound;room_type 00")
      client_cmd(id,"stopsound")
      client_print(id,print_chat,"[AMXX] Your sound will no longer echo now.")
   }
   else
   {
      
      client_print(id,print_console,"[AMXX] This command has been disabled.")
      return PLUGIN_HANDLED
   }
   return PLUGIN_CONTINUE
}

Link to demo http://www.girlshare.ro/3182214.2

_________________
Изображение


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: Sound bug - the sound repeats forever
СообщениеДобавлено: 19 янв 2012, 21:10 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
01 июн 2015, 02:09
Сообщения: 4973
Bug on a demo isn't related to echo. Will look later what could be done with that.


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: Sound bug - the sound repeats forever
СообщениеДобавлено: 21 янв 2012, 01:57 
Не в сети
Зарегистрирован:
07 сен 2011, 12:20
Последнее посещение:
26 май 2015, 16:13
Сообщения: 74
Here i've created the bug without using tripmine http://www.girlshare.ro/3206993.9

_________________
Изображение


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: Sound bug - the sound repeats forever
СообщениеДобавлено: 13 апр 2012, 03:24 
Не в сети
Зарегистрирован:
06 мар 2012, 02:42
Последнее посещение:
06 июл 2014, 01:42
Сообщения: 89
a bug fix like this would be great


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: Sound bug - the sound repeats forever
СообщениеДобавлено: 09 май 2012, 19:21 
Не в сети
Зарегистрирован:
06 мар 2012, 02:42
Последнее посещение:
06 июл 2014, 01:42
Сообщения: 89
can someone make this one work with fakemeta instead of engine?
Код:
#include <amxmodx>
#include <amxmisc>
#include <engine>

new enabled, allow

public plugin_init()
{
    register_plugin("Fix Echo Sounds","1.0","Throstur")
    enabled = register_cvar("amx_soundfix","1")
   
    set_task(0.1,"fRemove")
}

public fRemove()
{
    if(get_pcvar_num(enabled) != 1)
        return PLUGIN_HANDLED
   
    new Echo = find_ent_by_class(0,"env_sound")
    while(Echo)
    {
        remove_entity(Echo)
        Echo = find_ent_by_class(Echo,"env_sound")
    }
    return PLUGIN_HANDLED
}


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: Sound bug - the sound repeats forever
СообщениеДобавлено: 09 май 2012, 19:50 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
01 июн 2015, 02:09
Сообщения: 4973
Try to use
Код:
EF_FindEntityByString(entity,"class","env_sound")
EF_RemoveEntity(entity)


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: Sound bug - the sound repeats forever
СообщениеДобавлено: 05 июн 2012, 18:25 
Не в сети
Зарегистрирован:
06 мар 2012, 02:42
Последнее посещение:
06 июл 2014, 01:42
Сообщения: 89
ok with some help so far ive got this.

Код:
#include <amxmodx>
#include <fakemeta>
 
new enabled
 
public plugin_init()
{
    register_plugin("Fix Echo Sounds","1.0","Throstur")
    enabled = register_cvar("amx_soundfix","1")
 
    fRemove()
}
 
public fRemove()
{
    if(get_pcvar_num(enabled) != 1)
    {
          pause("ad")
          return
    }
 
    new Echo = -1
    while((Echo = engfunc(EngFunc_FindEntityByString, Echo, "classname","env_sound")) != 0) engfunc(EngFunc_RemoveEntity,Echo)
suppose this plugin is not doing anything after plugin_init().
"hooks are not active if public functions names are not found in plugins"


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: Sound bug - the sound repeats forever
СообщениеДобавлено: 19 июл 2012, 03:14 
Не в сети
Зарегистрирован:
06 мар 2012, 02:42
Последнее посещение:
06 июл 2014, 01:42
Сообщения: 89
this plugin does not fix the sound loop bug.



I tried both the original plugin and a optimzed one.
Код:
#include <amxmodx>
#include <amxmisc>
#include <engine>

public plugin_init()
{
    register_plugin("Fix Echo Sounds","1.1","Throstur")
    register_srvcmd("soundfix","fRemove")
   
    set_task(0.1,"fRemove")
}

public fRemove()
{   
    remove_entity_name("env_sound")
     
    return PLUGIN_HANDLED
who would have a fix for this?

"rcon fixsound" does not work as well from the original plugin.
client cmd stopsound works ofcourse

would it help if I knew the exact sound files?
for example we could say per trigger the sound could loop max 5 times or something?
or let the server play it onto clients, if that would make any difference lol
anyone? bugfix like this would be gold.


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: Sound bug - the sound repeats forever
СообщениеДобавлено: 25 мар 2013, 02:42 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
01 июн 2015, 02:09
Сообщения: 4973
Someone has found the answer: https://github.com/ValveSoftware/halflife/issues/809
Цитата:
file: doors.cpp
method: CBaseDoor::Blocked
change:
Код:
if (m_flWait >= 0)
{
if (m_toggle_state == TS_GOING_DOWN)
to:
Код:
if (m_flWait >= 0)
{
if ( !FBitSet( pev->spawnflags, SF_DOOR_SILENT ) )
STOP_SOUND(ENT(pev), CHAN_STATIC, (char*)STRING(pev->noiseMoving) );
if (m_toggle_state == TS_GOING_DOWN)


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: Sound bug - the sound repeats forever
СообщениеДобавлено: 03 май 2013, 23:31 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
01 июн 2015, 02:09
Сообщения: 4973
This is currently fixed in Bugfixed and improved HL release.


Вернуться к началу
 Профиль 
  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB