Berserker, разобрался. Ситуация была следующая: я создал в моде второй SND архив, чтобы потом иметь возможность без проблем и поиска удалить изменённые WAV файлы (т.к. сама озвучка была тестовой и данные файлы постоянно заменялись другими вариантами в поисках нужного звучания). И оказалось, что в отличии от архивов с Def ами, коих игра подгружает независимо от кол-ва их в моде, с SND архивами так не работает и данные беруться только из одного (второй игнорится). Выяснил это тогда, когда для другого существа (у которого есть все WAVы в оригинале) попытался физически заменить озвучку, поместив их во второй архив- и это не сработало, затем перенёс эти же файлы в основной SND архив мода- и озвучка подхватилась. (та же ситуация была проделана в последствии и кошмаром: подмена их звуков на сторонние с помощью вышеуказанного скрипта, поместив их в первый SND архив мода).
Уточнение название архивов отличалось лишь цифрой и датой создания (изначальный (из которого все файлы подхватываются и скриптами в том числе)-Моймод.SND, а тестовый носил имя Моймод2.SND) .
helgtla, Вы не правы. Грузятся все *.snd файлы. Просто применяются в алфавитном порядке (поиска в A.snd будет раньше поиска в B.snd). У Вас, скорее всего, файлы из одного архива перекрывали файлы из второго же.
Berserker, В том то и дело, что нет! В новом саунд архиве были файлы для монстров, которых не было в предыдущем. И только при перемещении их в первый архив они подхватились игрой! Я как раз об этом писал. И потом, если бы было так как Вы описали, озвучка была бы всё равно изменённой. В моём архиве нет полностью оригинальных связок файлов для конкретного существа, это ведь бессмысленно по определению (зачем добавлять их в мод, когда в оригинале они те же самые).
Повторюсь: я пытался изменить звуки кошмара на свои. Но заменить их на то существо, что не использовал до этого в моде (НИ ЗВУКОВ, НИ АНИМАЦИЯ- не были заменены). Потому вставил НОВЫЕ звуки в новый SND архив, а названия -поменял на дворфовские. При попытке скриптами подменить озвучку кошмара на дворфовскую (которая в моде есть ТОЛЬКО во втором архиве и с нужным мне звучанием)- игра воспроизводила СТАНДАРТНУЮ дворф озвучку (скрипт сработал (кошмар звучит как дворф), но звук -оригинал(оригинальный дворф)). И только когда я физически скопировал ЭТИ же файлы в первый архив (ДО этого момента их там не было), только тогда игра подменила озвучку на нужную мне (изменённые мной дворф звуки). Потом схожую манипуляцию провёл без участия скрипта: изменил звуки бегемота(в отличии от кошмара у этого юнита все звуки есть в явном виде) и поместил их во второй архив- игра озвучила бегемота стандартными звуками и только после того как ЭТИ же (изменённые бегемотовские файлы) скопировал в первый архив, удалив их из второго(на всякий случай)- только тогда бегемоты стали звучать так как мне нужно.
helgtla, если можете прислать два урезанных snd-архива с Вашими именами звуков + короткий ЕРМ скрипт для теста, буду благодарен.
Можете также включить в heroes3.ini Debug.DumpVirtualFileSystem=1 и после в Era\Debug\log.txt поискать по имени архивов. Оба должны грузиться.
Berserker, Думаю, что присылать snd-архивы может и не стоит, Вы можете повторить это у себя и так, я оставлю ссылку на видео, где ЭТОТ момент показан наглядно. Имееется 2 архива в первом только бегемотовская озвучка и больше ничего (архив "почищен" с помощью опции "Оптимизировать" проги MMarhive и весит 339Kb), во втором только озвучка Лазуриков (изменённая). далее на видео будет видно КАК это работает в игре.
в Era\Debug\log.txt - ОБА архива грузятся !
https://youtu.be/fdovLDvWrtE -видео 1мин 47 сек
helgtla, видео посмотрел, всё очень доходчиво, но на этих двух архивах я могу попытаться отладить код и понять причину ошибки.
Berserker, внутри 2 SND архива, аналог тех, что были на видео
SND
helgtla, спасибо. Если не сложно, конкретный код, которым заменяешь звук в игре в событии, тоже сюда закинь. Проверю на последней Эре.
Berserker, В приведённом видео и высланных архивах, нет необходимости в скриптовой подмене звуков. Здесь я показал сам факт того, что работа с несколькими SND архивами в одном моде- обрабатывается ЭРой не совсем корректно. Просто обнаружено ЭТО было мной только тогда, когда понадобилось заменить озвучку существу, у которого изначально не было своей оригинальной озвучки. Как пример, чтобы Вам не "париться" я подготовил тестовую карту с одним монстром и героем с двумя видами монстров (бегемот и лазурный дракон).
У ОБОИХ ЭТИХ монстров озвучка изменена относительно оригинальной. Но у бегемота она в первом архиве, а у лазурика-во втором (название SND архива такое же как и для бегемота, но присутствует цифра
2). В архиве также есть сам мод (только подключить через мод менеджер), в котором и есть указанные два SND архива.
Нормально же изменённая озвучка будет только в том случае, если озвучку лазурика из второго архива скопировать в первый.
Есть ещё некий нюанс (может он и будет важен): при начальных условиях (озвучка бегемота- в первом, лазурика - во втором архиве), несмотря на то, что лазурик имеет в "основном" стандартную озвучку, а не изменённую(та что во 2-ом архиве), звук атаки(тот что идентифицируется с начальным файлом для данного существа
AZURATTK) не проигрывается (игра не пишет об отсутствии SFX компоненты, но её не воспроизводит или делает её "пустой").
Ссылка на тестовый мод с подготовленной картой:
SND mod+ test map
helgtla, stalket2.snd битый или не совсем корректного формата. Планин total commander-а умирает на нём. Подозревал что-то подобное.
Мой MMArchive тоже на нём вылетает.
helgtla, есть моя Tools\resman.exe утилита.
resman.exe snd "путь к целевому snd" packall "путь к папке с wav-файлами". Упакует в корректном и самом сжатом виде.
Да, не пользуйтесь функцией оптимизации на snd/vid, она в MMArchive, если верно помню, уже не раз била архивы.
Привет, помогите пожалуйста решить проблему

Почему-то когда я подменяю снаряд стреляющему существу, тот всегда направляется вверх... По идее в игре должна быть функция, определяющая направление снаряда, однако, что это за функция, и, где ее искать, мне непонятно...
Вот код:
Raistlin, а где ты тут y5 получаешь?

и да, этот кусок кода обязателен?
без него ты не поймёшь, что ты сейчас как раз в экране битвы, ведь уже активировал !?BG

Bes, данный кусок кода я просто скопипастил

Над содержимым особо не задумывался, главное было, что работало. Потом, правда, я заметил, что со снарядом, оказывается непорядок... Спасибо за исправление, те строчки действительно лишние.
Ну что, есть у кого-нибудь идеи, как задавать направление снаряда? Очень нужно найти решение, а я, к сожалению, с внутренним устройством игры почти не знаком...
Заранее спасибо!
Raistlin, в теме про
UN:C есть пример подмены
Defа снаряда. С таким скриптом анимация направления снаряда выглядит корректно . И нет необходимости что-то править дополнительно.
http://wforum.heroes35.net/showthread.php?tid=5118
Code:
; изменение снаряда стреляющего существа
!?FU<номер функции>;
; x1 - номер существа (0...196)
; x2 - тип снаряда (0...15)
!!VRx1:+7994814;
!!UN:Cx1/1/x2;
Если есть необходимость-можно задать любой вид снаряда, с помощью подмены
Defов командой
!!SN:R
Пример:
!!VRy24:+7994814 +137; /137 Снайпер
!!UN:Cy24/1/3; /3 снаряд мастера-гремлина
!!SN:R^cprgre.def^/^PlazmaRay.def^;
cprgre.def -
Def снаряда мастера-гремлина
PlazmaRay.def Def снаряда на который надо изменить
(должен быть заранее подготовлен и помещён в Ваш мод)
Итого: Снайпер стреляет снарядом мастера-гремлина, который изменён на плазменный луч.
Если надо вернуть гремлину исходный вид снаряда:
!!SN:R^cprgre.def^/^^; - снайпер при этом, по прежнему продолжит стрелять как гремлин, - шаром на цепи. Если необходимо- можно сменить ему на какой-либо ещё (другой) вид снаряда
(для последующих битв, в которых будут присутствовать и гремлины).
Список стандартных типов снарядов: 0 — лучник (исключение: для существа № 196 — драколич);
1 — монах;
2 — эльф;
3 — мастер-гремлин;
4 — маг;
5 — титан;
6 — гог;
7 — лич;
8 — медуза;
9 — орк;
10 — циклоп;
11 — ящер;
12 — ледяной элементаль;
13 — полурослик;
14 — катапульта;
15 — баллиста.