|
Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/
[РЕШЕНА] emit_sound
|
|
slogic | Дата: Среда, 10.01.2007, 18:53:04 | Сообщение # 1 |
Генералиссимус
Группа: Админы
Сообщений: 1941
Статус: Не в сети
| В связи с пробелмами, хочу спросить, если кто знает. Можно конечно и самому проверить, но лучше чтобы другие не натыкались на чужие ошибки. Так emit_sound позволяет издавать звук на entity. При этом можно выбрать некоторый канал, по которому проигрывать звук. Можно ли сделать так, чтобы этот звук играл только для данного entity (в данном слчае пусть это будет игрок)? Пока идея такая - выставить максимальный параметр attenuation (ослабление). Может есть что получше? Чем хорош emit_sound по сравнению с консольной командой play/spk/speak? Тем что можно явно отключиь нужный звук, а не все звуки (с пом. nosound).
Сообщение отредактировал slogic - Пятница, 26.01.2007, 02:08:01 |
|
| |
VEN | Дата: Среда, 10.01.2007, 20:55:39 | Сообщение # 2 |
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Статус: Не в сети
| Вот это должно быть то, что нужно:Code | void (*pfnBuildSoundMsg) (edict_t *entity, int channel, const char *sample, /*int*/float volume, float attenuation, int fFlags, int pitch, int msg_dest, int msg_type, const float *pOrigin, edict_t *ed); |
|
|
| |
slogic | Дата: Среда, 10.01.2007, 21:13:45 | Сообщение # 3 |
Генералиссимус
Группа: Админы
Сообщений: 1941
Статус: Не в сети
| Интересно. В HLSDK ни одного примера с его использованием. Полагаю entity будет равно ed. Дома проверю...
|
|
| |
VEN | Дата: Среда, 10.01.2007, 22:01:49 | Сообщение # 4 |
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Статус: Не в сети
| Да, в твоем случае источник равен получателю.
Сообщение отредактировал VEN - Среда, 10.01.2007, 22:16:32 |
|
| |
slogic | Дата: Суббота, 13.01.2007, 19:26:40 | Сообщение # 5 |
Генералиссимус
Группа: Админы
Сообщений: 1941
Статус: Не в сети
| Не врубаюсь, чему должен быть равен msg_type ?
|
|
| |
VEN | Дата: Воскресенье, 14.01.2007, 13:38:36 | Сообщение # 6 |
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Статус: Не в сети
| См. engine_and_game_messages.txt из моей подборки файлов в "полезной инфе". Как подсказывает мой опыт, может быть что-то типа, например, этого: Quote | source_ent, CHAN_STREAM, g_sound, VOL_NORM, ATTN_NORM, 0, PITCH_NORM, MSG_ONE, SVC_SOUND /* 6 */, Float:{0.0, 0.0, 0.0}, reciever_ent | Я так понял, что некоторые HL Engine Messages (msg_type < 64) на клиенте подгружаются как бы "динамически", т.е., например, SVC_SOUND иногда может быть вообще не подгружен (см. cl_messages). Не уверен, что именно SVC_SOUND верный msg_type, но он как нельзя лучше подходит по смыслу. Хотя, даже, когда SVC_SOUND на клиенте подгружен, клиент "вылетает" с "Host_Error: CL_ParseServerMessage: Illegible server message".
Сообщение отредактировал VEN - Воскресенье, 14.01.2007, 13:49:55 |
|
| |
slogic | Дата: Воскресенье, 14.01.2007, 17:01:50 | Сообщение # 7 |
Генералиссимус
Группа: Админы
Сообщений: 1941
Статус: Не в сети
| У меня такая же ошибка. Quote | 214375 0713 svc_sound BAD: 721:svc_bad Host_Error: CL_ParseServerMessage: Illegible server message - svc_bad | Кстати, плагин mslogger не ловит emit_sound
|
|
| |
VEN | Дата: Воскресенье, 14.01.2007, 17:51:50 | Сообщение # 8 |
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Статус: Не в сети
| Даже если этот плагин подправить, чтобы он смог "ловить" этот самый Sound, не факт, что игра эту функцию вообще использует, но попробовать стоит. У самого такая идея "проскакивала".
|
|
| |
slogic | Дата: Воскресенье, 14.01.2007, 22:11:38 | Сообщение # 9 |
Генералиссимус
Группа: Админы
Сообщений: 1941
Статус: Не в сети
| Решил плюнуть на неизвестный pfnBuildSoundMsg. Команда "spk" играет звук по каналу CHAN_STATIC. Проверено. Звук можно отключить с пом. emit_sound(..., SND_STOP). Осталось узнать, слышат ли звук окружающие.
|
|
| |
VEN | Дата: Пятница, 19.01.2007, 16:19:01 | Сообщение # 10 |
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Статус: Не в сети
| Смотри, что я нашел: http://www.mail-archive.com/hlcoder....22.html
|
|
| |
slogic | Дата: Пятница, 19.01.2007, 17:11:24 | Сообщение # 11 |
Генералиссимус
Группа: Админы
Сообщений: 1941
Статус: Не в сети
| Опробуем. У меня нет другого выхода
|
|
| |
slogic | Дата: Пятница, 26.01.2007, 02:06:45 | Сообщение # 12 |
Генералиссимус
Группа: Админы
Сообщений: 1941
Статус: Не в сети
| В общем итоговые выводы теперь может сделать для себя каждый, используя вот этот тестовый плагин: http://amxmodx.ucoz.ru/forum/17-181-1
|
|
| |
VEN | Дата: Среда, 09.04.2008, 22:51:41 | Сообщение # 13 |
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Статус: Не в сети
| Точно? Попробовал установить своему тестовому игроку FL_FAKECLIENT и слушал бота - слышу его emit'ы - трюк не вышел... EDIT: открыл тему вновь.
Сообщение отредактировал VEN - Среда, 09.04.2008, 23:34:43 |
|
| |
slogic | Дата: Четверг, 10.04.2008, 13:40:30 | Сообщение # 14 |
Генералиссимус
Группа: Админы
Сообщений: 1941
Статус: Не в сети
| Quote (VEN) Попробовал установить своему тестовому игроку Тестовый игрок - listen? И зачем выставлять живмоу игроку флаг FAKE? У меня таких условий не было.
|
|
| |
VEN | Дата: Четверг, 10.04.2008, 22:24:22 | Сообщение # 15 |
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Статус: Не в сети
| cs1.6ds console + cs client + pb_mm А что - надо мертвому? Насколько я понял информацию по ссылке - ставишь реальному игроку FL_FAKECLIENT флаг, и он не слышит EmitSound - на практике это не так.
|
|
| |
| AMX Mod X Russian Community © 2006-2024 | |
|
| |