HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Нубские вопросы от <censored> и других нубов
Чтобы не создавать сто тем
7 голосов
Страницы (264): « Первая ... « 260 261 262 263 [264]   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6830
Возраст: 34

Рейтинг



Цитата:
Дядя Миша писал:
Это через сентенции можно. Там как раз есть параметры

Кстати да. Очень удобная вещь. Самое на мой взгляд важное то, что прекэшить звуки не надо. Количество сентенций очень большое, в юбилейном обновлении лимит увеличили до 2048.

Сообщить модератору | IP: Записан
Сообщение: 223970

Старое сообщение 03-04-2025 09:45
- За что?
Sigurth
Житель форума

Дата регистрации: May 2015
Проживает: Красноярск
Сообщений: 101
Возраст: 28

Рейтинг



Цитата:
Alexander Pafos писал:
я хотел сделать радио у которого счетчик времени шел бы независимо от того играет ли звук

Не уверен, что такое сработает, но попробовать можно. Просто включи звук с самого начала с громкостью 0 и задай канал CHAN_STREAM (это вроде как не сбрасывает loop-звук в начало если далеко отойти). Затем, когда надо "включить", выставляй громкость 1, когда выключить - 0.
Цитата:
Ku2zoff писал:
прекэшить звуки не надо

На самом деле, звуки вообще прекешить не обязательно. Можно спокойно проигрывать звук на клиенте без прекеша на сервере. Он загрузится на ходу. Прекеш нужен лишь лишь (помимо предзагрузки) для выдачи индекса, чтобы передавать его мессагой с сервера. Иначе с сервера без прекеша звук не проиграть.

__________________
Никогда не поздно сделать мод под хл1

Сообщить модератору | IP: Записан
Сообщение: 224078

Старое сообщение 22-04-2025 15:25
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6830
Возраст: 34

Рейтинг



Цитата:
Sigurth писал:
На самом деле, звуки вообще прекешить не обязательно. Можно спокойно проигрывать звук на клиенте без прекеша на сервере. Он загрузится на ходу.

Из-за этого возникают статтеры. Ни один раз такое видел в модах на халфу. Маааленький такой лаг перед проигрыванием звука, когда игра подвисает. Может быть это из-за hdd? У ssd время доступа меньше и скорость чтения выше. Звуки, на самом деле, не так уж много весят, в отличие от текстур. Все звуки можно прекэшить с теперешними объёмами оперативной памяти.

Отредактировано Ku2zoff 23-04-2025 в 01:51

Сообщить модератору | IP: Записан
Сообщение: 224079

Старое сообщение 23-04-2025 01:50
- За что?
Sigurth
Житель форума

Дата регистрации: May 2015
Проживает: Красноярск
Сообщений: 101
Возраст: 28

Рейтинг



Цитата:
Ku2zoff писал:
Маааленький такой лаг перед проигрыванием звука

У меня на HDD такое было. Я в свое время таким костылем "увеличил" себе лимит звуков. Можно еще более костыльным костылем предзагрузить такие звуки на клиенте. Где-нибудь в CHud::Init() воспроизвести все необходимые звуки разом с нулевой громкостью и на одном канале. Тогда никаких микрофризов во время игры не будет. Правда сейчас уже не так актуально с новыми лимитами.

А теперь у меня так вообще целая система саундскриптов, как в хл2, все в блокнотике настраивается, и все звуки на клиенте играются. И все это появилось из-за лимита в 512 звуков) А еще из-за того, что конструкции switch/case или if/else, которые выбирают рандомно один звук из нескольких, занимают слишком много места и времени для внесения туда изменений.

То есть вместо какого-нибудь:
C++ Source Code:
1
float flVolume = RANDOM_FLOAT ( 0.25 , 0.75 ) * 0.4;//random volume range
2
switch ( (int)(RANDOM_FLOAT(0,1) * 6) )
3
{
4
  case 0: EMIT_SOUND(ENT(pev), CHAN_VOICE, "buttons/spark1.wav", flVolume, ATTN_NORM);	break;
5
  case 1: EMIT_SOUND(ENT(pev), CHAN_VOICE, "buttons/spark2.wav", flVolume, ATTN_NORM);	break;
6
  case 2: EMIT_SOUND(ENT(pev), CHAN_VOICE, "buttons/spark3.wav", flVolume, ATTN_NORM);	break;
7
  case 3: EMIT_SOUND(ENT(pev), CHAN_VOICE, "buttons/spark4.wav", flVolume, ATTN_NORM);	break;
8
  case 4: EMIT_SOUND(ENT(pev), CHAN_VOICE, "buttons/spark5.wav", flVolume, ATTN_NORM);	break;
9
  case 5: EMIT_SOUND(ENT(pev), CHAN_VOICE, "buttons/spark6.wav", flVolume, ATTN_NORM);	break;
10
}


У меня просто:
C++ Source Code:
EmitSound("Spark");


А все параметры в блокнотике в таком виде:

code:
"Spark" { $chan CHAN_VOICE $vol RANDOM( 0.1 0.3 ) "ambient/electro/spark1.wav" "ambient/electro/spark2.wav" "ambient/electro/spark3.wav" "ambient/electro/spark4.wav" "ambient/electro/spark5.wav" "ambient/electro/spark6.wav" "ambient/electro/spark7.wav" "ambient/electro/spark8.wav" }

__________________
Никогда не поздно сделать мод под хл1

Сообщить модератору | IP: Записан
Сообщение: 224080

Старое сообщение 23-04-2025 05:08
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 33010
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
Sigurth писал:
А все параметры в блокнотике в таком виде:

у меня для описания эффектов нечто похожее

C++ Source Code:
1
soundDef "ricochet_sound"
2
{
3
  sound		"weapons/ric1.wav"
4
  sound		"weapons/ric2.wav"
5
  sound		"weapons/ric3.wav"
6
  sound		"weapons/ric4.wav"
7
  sound		"weapons/ric5.wav"
8
  volume		"0.7f..0.9f"
9
  channel		"auto"
10
  attenuation	"1.0"
11
  pitch		"90..105"
12
}

Рандом через двойную точку задаётся.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | IP: Записан
Сообщение: 224081

Старое сообщение 23-04-2025 11:38
-
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 13:59. Новая тема    Ответить
Страницы (264): « Первая ... « 260 261 262 263 [264]   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Нубские вопросы от <censored> и других нубов
Чтобы не создавать сто тем
7 голосов
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024