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 увы обрабатывает пошагово, а не всё выражение целиком (о чём я опять забыл

), язык всё-таки низкоуровневый. Т.е. параметры этой команды нужно просто как-то оптимизировать

(думал, что догадаетесь, но почему-то не догадались).
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