Wake of Gods Forum | Форум Во Имя Богов

Full Version: Полупрозрачность в Героях III
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10
I'd be interested in seeing this further; I slightly looked into this when I made some progress on passive animations and noticed a number of drawing related bugs in combat.
   Для некоторых заклинаний (кастуемых на поле боя) игра отрисовывает их анимацию с эффектом прозрачности (молитва, регенерация, одно из воскрешений и ещё парочку). Причём сами кадры Дэф файлов - обычные. Можно вручную заменить, или с помощью SN:R подменить - и изменённый Дэф для этих заклинаний - также будет выглядеть прозрачным.
   ПРИМЕР: берём какой-либо Дэф и заменяем (через SN:R) им заклинания Молитву и допустим Щит. При касте и щита и молитвы- будет одинаковая анимация (Дэф один и тот же -изменённый автором), но анимация Молитвы будет иметь прозрачность, а Щита -нет.
   Вопрос: можно ли каким-либо образом указать игре, чтобы анимация определённого заклинания имела эффект прозрачности во время каста? Если да - то как. Или может это свойство можно отыскать где-то в текстовых файлах, описывающих свойства Дэфов/анимаций (на подобие того как есть текстовики с описанием для анимации юнитов/снарядов )?
(10.12.2020 22:48)helgtla Wrote: [ -> ]можно ли каким-либо образом указать игре, чтобы анимация определённого заклинания имела эффект прозрачности во время каста? Если да - то как.

В таблице боевых анимаций указывается во флагах анимации (0 или 1).
XEPOMAHT, а можно поподробней? Где находится эта таблица (если он текстовая - то название и где располагается) ? И можно ли эти флаги заменять в процессе игры скриптом?
(11.12.2020 01:00)helgtla Wrote: [ -> ]Где находится эта таблица (если он текстовая - то название и где располагается) ?

В exe 241E18

(11.12.2020 01:00)helgtla Wrote: [ -> ]И можно ли эти флаги заменять в процессе игры скриптом?

Можно, с помощью UN:C в данной воговской таблице:

struct _MagicAni_{
char *DefName;
char *Name;
int Type;
};
XEPOMAHT, а не могли бы Вы пример привести, как это будет выглядеть через UN:C ?
   Что-то вроде подобного:
!!VRy1:S<адресс> +<номер_заклинания> -<доп смещение(если нужно)>;
!!UN:Cy1/1/<параметр 0/1>;
   А то - данное колдунство мне не доступно.
(11.12.2020 01:42)helgtla Wrote: [ -> ]XEPOMAHT, а не могли бы Вы пример привести, как это будет выглядеть через UN:C ?

Примерно как-то так...

UN:C43F77Eh/4/?y1; адрес таблицы
UN:Cy1+номер_анимации*3*4+2*4+1/1/1; поставить флаг прозрачности
UN:Cy1+номер_анимации*3*4+2*4+1/1/0; снять флаг прозрачности
XEPOMAHT,
У Вас в первой строке UN:C43F77Eh/4/?y1; адресс 4 байта, в нижних - 1, так и должно быть?
Номер заклинания: имеется ввиду те же номера, что закреплены и даны в справочнике? (Пример Защита от воздуха- №30)
------------------------------
Пробовал так:
!!UN:C4454270/4/?y1; адрес таблицы (C43F77Eh -> C4454270)

!!VRy1:Sy1 +30 *3 *4 +2 *4 +1; №30 -защита от воздуха
!!UN:Cy1/1/1; поставить флаг прозрачности
   Не получается. Защита- по прежнему непрозрачна.
   Пробовал так:
   !!VRy1:S4454270 +30 *3 *4 +2 *4 +1; результат - схожий, не изменяется.
    Что нужно прописать чтобы получилось? К примеру на закле № 30.
(11.12.2020 03:10)helgtla Wrote: [ -> ]   №30 -защита от воздуха

22

(11.12.2020 03:10)helgtla Wrote: [ -> ]    Что нужно прописать чтобы получилось? К примеру на закле № 30.

В справке к ERM была таблица с номерами анимаций и где они применяются.
XEPOMAHT, всё равно не работает.
   Вот код:
   заменил одним и тем же Дэфом чары Защиту от Воздуха и Молитву. Автокаст в первом раунде. Вашим методом пытаюсь выставить прозрачность для Защиты от Воздуха (номер анимации -22). при касте, всё по прежнему: защита - без прозрачности, молитва-с ней.
(11.12.2020 12:03)helgtla Wrote: [ -> ]!!VRy1:Sy1 +22 *3 *4 +2 *4 +1;

Тут чисто математическая ошибка. Т.к. ERM увы обрабатывает пошагово, а не всё выражение целиком (о чём я опять забыл 105 ), язык всё-таки низкоуровневый. Т.е. параметры этой команды нужно просто как-то оптимизировать Jedi3 (думал, что догадаетесь, но почему-то не догадались).
XEPOMAHT, ОГРОМНОЕ Вам спасибо! ЗАРАБОТАЛО!!!

Общий вид кода выглядит следующим образом

Если возможно, не лишним будет перенести ЭТО в тему про !!UN:C.
Сделал изменения в alpha.dll
Стало работать намного быстрее
брать файл \oldSource\333.dll
alpha.dll
totkotoriy, Не могли бы поподробней описать, что ещё кроме 333.dll необходимо для работы плагина? Так как при помещении 333.dll в папку EraPlugins - игра отказывается запускаться и требует libpng3.dll . Но даже если и его скопировать - результат тот же (пишет что libpng3.dll отсутствует и не запускает игру).
(20.12.2020 21:19)helgtla Wrote: [ -> ]totkotoriy, Не могли бы поподробней описать, что ещё кроме 333.dll необходимо для работы плагина? Так как при помещении 333.dll в папку EraPlugins - игра отказывается запускаться и требует libpng3.dll . Но даже если и его скопировать - результат тот же (пишет что libpng3.dll отсутствует и не запускает игру).

Наверное надо libpng3.dll и zlib1.dll поместить в корневую папку игры

(08.11.2020 02:12)feanor Wrote: [ -> ]Первую проблему мы с Аксолотлем (который нарисовал совершенно прекрасных светляков) некогда попробовали заткнуть портированием хотовских правок рендера поля боя, который перерисовывает все поле боя, а не микроменеджит кусочки, как в оригинале. Сработало, но сами понимаете. Не знаю, как будет с сергрожевским вариантом анимации монстров, по идее, тоже может сработать.
Ко второй даже не подступался.
Привет, это вы код alpha.dll дорабатывали?
Pages: 1 2 3 4 5 6 7 8 9 10
Reference URL's