Wake of Gods Forum | Форум Во Имя Богов
Новые заклинания - Printable Version

+- Wake of Gods Forum | Форум Во Имя Богов (http://wforum.heroes35.net)
+-- Forum: Герои Меча и Магии 3.5 WoG/ERA (/forumdisplay.php?fid=99)
+--- Forum: Моды (/forumdisplay.php?fid=104)
+---- Forum: Теория, идеи, обсуждение (/forumdisplay.php?fid=184)
+---- Thread: Новые заклинания (/showthread.php?tid=4241)


Новые заклинания - Sam - 23.03.2013 18:22

Есть ли возможность добавить новые заклинания в игру ? Для примера можно взять заклинания из 4х или 5х героев . Особенно хотелось бы увидеть вызов новых существ во время боя и вне его .


RE: Новые заклинания - Berserker - 23.03.2013 18:34

Прямой возможности нет нигде, кроме мода MoP.


RE: Новые заклинания - Ivor - 25.03.2013 14:01

Но призыва новых существ нет и там. Можно спустить на более низкие уровни заклинания вызова элементалей, как это сделано, например, в ReMagic

Где-то мне попадался пример простой ERM-команды, которой меняется тип вызываемых существ с элементалей на нужный.


RE: Новые заклинания - Ivor - 25.03.2013 15:31

Нашёл
   !!UN:C5906498/1/<new monster ID> - summonning fire el. sp.
   !!UN:C5906519/1/<new monster ID> - summonning earth el. sp.
   !!UN:C5906540/1/<new monster ID> - summonning water el. sp.
   !!UN:C5906561/1/<new monster ID> - summonning air el. sp.


RE: Новые заклинания - Sam - 27.03.2013 13:09

(25.03.2013 15:31)Ivor Wrote:  Нашёл
   !!UN:C5906498/1/<new monster ID> - summonning fire el. sp.
   !!UN:C5906519/1/<new monster ID> - summonning earth el. sp.
   !!UN:C5906540/1/<new monster ID> - summonning water el. sp.
   !!UN:C5906561/1/<new monster ID> - summonning air el. sp.

   Так в теории можно скажем вызвать лазурных драконов ? Если да , то сделайте пожалуйста скрипт .


RE: Новые заклинания - Ivor - 27.03.2013 17:30

Пробуй
http://yadi.sk/d/Eb9wfbHY3_uiP


RE: Новые заклинания - Sam - 27.03.2013 18:02

(27.03.2013 17:30)Ivor Wrote:  Пробуй
http://yadi.sk/d/Eb9wfbHY3_uiP

   Странно , похоже не работает . Может не туда скопировал скрипт ?

   C:\Program Files\Heroes of Might and Magic III Complete\Mods\WoG\Data\s

   Так ? Или не туда закинул ?


RE: Новые заклинания - Ivor - 27.03.2013 22:29

Да, вызов лазурников почему-то хромает. Тестировал с пикенерами, рыцарями, ящерами, маг. элементалями - все нормально вызываются. Лазурники и чародеи - вываливаются в ошибку

Похоже, что монстры до 127го, Штормовика, нормально вызываются, а те, кто дальше - ругаются на отсутствие озвучки


RE: Новые заклинания - Sam - 27.03.2013 23:39

(27.03.2013 22:29)Ivor Wrote:  Да, вызов лазурников почему-то хромает. Тестировал с пикенерами, рыцарями, ящерами, маг. элементалями - все нормально вызываются. Лазурники и чародеи - вываливаются в ошибку

Похоже, что монстры до 127го, Штормовика, нормально вызываются, а те, кто дальше - ругаются на отсутствие озвучки

   Жаль , лазурные это самый лучший вариант . А сказочных тоже нельзя ?


RE: Новые заклинания - Ivor - 28.03.2013 15:48

(27.03.2013 23:39)Sam Wrote:     Жаль , лазурные это самый лучший вариант . А сказочных тоже нельзя ?
Теперь можно
http://forum.df2.ru/index.php?showtopic=27794&view=findpost&p=585520


RE: Новые заклинания - Sam - 29.03.2013 13:20

Ivor Wrote:Теперь можно
http://forum.df2.ru/index.php?showtopic=27794&view=findpost&p=585520

   Ясно . Спасибо .


RE: Вопросы по моддингу - V_Maiko - 27.03.2020 08:54

One question I've always had is, can new spells be created in ERA 2? In VCMI it is easy to get it, but I think ERA 2 is also capable of doing it through ERM or plugins, and something that supports my idea is that I think I remember in hmm35wog.pac, the text "sptraits.txt" has empty slots named "Wog Spell", with the help of ERM, a .pac that adds and replaces the graphics in the spellbook gives me hope that new spells can be created.
Image: Screenshot-1.png


RE: Вопросы по моддингу - Algor - 27.03.2020 10:27

V_Maiko, если хочется добавить 3-5 своих новых спеллов, в оригинальных героях есть и штатные заклинания, которые, в общем, бесполезны и могут быть заменены.
Мододелы этим подходом уже не раз пользовались (походные "Вертикаль", "Укрепление", боевое "Перезарядка").
Основная сложность в том, чтобы научить ИИ грамотно пользоваться новыми/модифицированными заклинаниями, что никак не решается простой правкой текстовика...


RE: Вопросы по моддингу - XEPOMAHT - 27.03.2020 12:25

1. Новые заклинания - сейчас только в MoP и может быть когда-нибудь в ERA PLUS.
2. ERM сложнопригоден к добавлению свойств новым заклинаниям (почти каждое заклинание имеет свой неповторимый специфический код). Только ассемблер, только хардкор.
3. Простым смертным легче использовать VCMI. На движке Третьих Героев ничего готового по принципу "прописывания в sptraits.txt" никогда не будет.


RE: Вопросы по моддингу - feanor - 27.03.2020 14:04

Quote:One question I've always had is, can new spells be created in ERA 2? In VCMI it is easy to get it, but I think ERA 2 is also capable of doing it through ERM or plugins, and something that supports my idea is that I think I remember in hmm35wog.pac, the text "sptraits.txt" has empty slots named "Wog Spell", with the help of ERM, a .pac that adds and replaces the graphics in the spellbook gives me hope that new spells can be created.
Вообще, если нужно очень скриптованное пыщь-пыщь уровня "ГГ карты с чуть более цветным фаерболом", то оно делается левой пяткой где-то за неделю, в TSW я запилил к промо-ролику примерно за несколько дней. По факту, вытянуть новую иконку в книгу, прописать реакцию, всё.
ИИ вот отдельная тема, редактор, и генерация тоже такое себе.


RE: Вопросы по моддингу - Raistlin - 04.08.2020 18:17

Можете пожалуйста подсказать, каким образом можно добавить новое заклинание в Эру?


RE: Вопросы по моддингу - V_Maiko - 04.08.2020 19:11

Raistlin, I've already asked about that question here, but apparently creating new spells without replacing in ERA is completely impossible without plugin intervention 105


RE: Вопросы по моддингу - XEPOMAHT - 04.08.2020 19:17

(04.08.2020 18:17)Raistlin Wrote:  каким образом можно добавить новое заклинание в Эру?

Только с помощью dll на новые заклинания. Но... неперспективно для моддеров (т.к. нулевая совместимость + сущая хардкорность в программировании свойств заклинаний), поэтому вряд ли стоит такого ожидать.

Для желающих добавлять новые заклинания давно есть MoP (но самих желающих делать "это" так и не нашлось 148 ). ERA, как платформа, не даёт таких широких возможностей, увы.


RE: Вопросы по моддингу - V_Maiko - 04.08.2020 19:21

XEPOMAHT, In MOP, adding new spells is also hardcoded or via plugins werd, so the only option would be use the unstable VCMI.


RE: Вопросы по моддингу - Raistlin - 04.08.2020 20:10

XEPOMAHT, но ведь текстовики полны пустышек, зачем их тогда добавляли, если не для этого?

V_Maiko, there is a spell editor like Typhon


RE: Вопросы по моддингу - V_Maiko - 04.08.2020 20:34

(04.08.2020 20:10)Raistlin Wrote:  V_Maiko, there is a spell editor like Typhon

I know, although there is a spell editor in MOP, it does not allow you to create new ones, it specifies it there.

Image: Screenshot-1.png


RE: Вопросы по моддингу - XEPOMAHT - 04.08.2020 21:18

(04.08.2020 19:21)V_Maiko Wrote:  In MOP, adding new spells is also hardcoded or via plugins werd, so the only option would be use the unstable VCMI.

Вообще-то в VCMI тоже по новым заклинаниям хардкор. Т.к. и там и там потребуется программирование (только в MoP - низкоуровневое, в VCMI - высокроуровневое). В текстовике, как и в редакторе заклинаний MoP, только базисная конфигурация. Мой выбор - всё-таки MoP (т.к. там можно задавать свойства бланковым заклинаниям например с помощью ERM).

(04.08.2020 20:10)Raistlin Wrote:  но ведь текстовики полны пустышек, зачем их тогда добавляли, если не для этого?

В WoG 3.59 планировалось добавление новых заклинаний: для начала просто была перенесена и расширена таблица с настройками заклинаний. На остальное посмотрели, задумались и положили болт с резьбой. Короче та же история, что с поддержкой новых городов и LUA - доделывать всё это по-прежнему никто не хочет/не может уже 15 лет как.

(04.08.2020 20:34)V_Maiko Wrote:  I know, although there is a spell editor in MOP, it does not allow you to create new ones, it specifies it there.

Да, не позволяет, но облегчает. Новые заклинания можно программировать в отдельной dll (да хоть на СИ, хоть на Дельфи, можно и на Ассемблере), что-то простое и немного читерское можно сделать и на ERM. Никаких готовых редакторов для чайников, в которых можно просто выставить галочки и получить некое новое заклинание, никогда уже не будет (если только соберёте Мастеру круглую сумму денег и он сделает) - это очень затратно по времени, хотя и возможно.


RE: Вопросы по моддингу - Raistlin - 04.08.2020 22:40

Хорошо, я понял. Вообще, если таблицу расширили, то все остальное перестаёт быть проблемой. Или я что-то путаю?


RE: Вопросы по моддингу - Raistlin - 05.08.2020 01:09

(05.08.2020 00:54)XEPOMAHT Wrote:  Нет, это вообще ни о чём. Поддержку новых городов легче добавить, чем новые заклинания.
Ясно. Я просто подумал, что там все, что нужно, пропатчили...


RE: Вопросы по моддингу - feanor - 05.08.2020 20:02

(04.08.2020 22:40)Raistlin Wrote:  Хорошо, я понял. Вообще, если таблицу расширили, то все остальное перестаёт быть проблемой. Или я что-то путаю?

Хранение информации о выученности (в тсв я их храню в SN:W, лол), генерация в ГМ, шрайнах и где попало, применение ИИ. Редактор карт с его запретами, наконец.
Сам-то функционал фигня война.


RE: Вопросы по моддингу - XEPOMAHT - 06.08.2020 00:01

(05.08.2020 20:02)feanor Wrote:  Хранение информации о выученности (в тсв я их храню в SN:W, лол), генерация в ГМ, шрайнах и где попало, применение ИИ.

Ага, 384+946 строк бинарного патча + 586 строк текстовика с 40 перехватами содовского кода в 11-килобайтный DLL. Кто-нибудь готов всё это переписать под ЭРУ? Думаю, что нет.


RE: Вопросы по моддингу - igrik - 06.08.2020 00:32

XEPOMAHT, а можно это ввочию увидеть?


RE: Вопросы по моддингу - XEPOMAHT - 06.08.2020 01:04

(06.08.2020 00:32)igrik Wrote:  а можно это ввочию увидеть?

NewSpells.txt и NewSpells2.txt в исходниках бинарных патчей MoP и SpellsExpand.asm в Drew.dll. В Werd.dll ещё настройки ИИ и ещё может быть что-то...

Но сразу скажу, что расширены заклинания были не совсем стандартным способом, если так же сделать для ERA, то это похоронит добрую половину плагинов, ну и HD-мод за одним.


RE: Вопросы по моддингу - Raistlin - 06.08.2020 02:28

(05.08.2020 20:02)feanor Wrote:  Хранение информации о выученности (в тсв я их храню в SN:W, лол), генерация в ГМ, шрайнах и где попало, применение ИИ. Редактор карт с его запретами, наконец.
Сам-то функционал фигня война.
Информацию о выученности по-моему удобнее хранить в переменных героев (w).
Вообще, тут не должно быть ничего невозможного: в одном из скриптов вогификации прописана блокировка заклинаний, похожим образом можно осуществить и генерацию. ИИ будет пользоваться магией принудительно, можно просто заставлять его колдовать заклинания при выполнении определённых условий. С редактором карт возиться вряд-ли кому захочется, запрет ведь можно сымитировать с помощью опций.


RE: Вопросы по моддингу - wessonsm - 06.08.2020 02:40

Переменных героев мало, а модов много.
Есть большой риск несовместимости с другими модами (за всеми не уследишь).


RE: Вопросы по моддингу - Bes - 06.08.2020 04:39

Quote:ИИ будет пользоваться магией принудительно, можно просто заставлять его колдовать заклинания при выполнении определённых условий.
так он по сути так и делал всегда, ведомый прописанными шаблонами действий. Так что не стоит даже смущаться самой идеи заставлять через ERM Yes
Quote:Переменных героев мало
era3 + массивы вполне себе инструмент для реализации, кмк


RE: Вопросы по моддингу - feanor - 06.08.2020 11:47

Quote:Информацию о выученности по-моему удобнее хранить в переменных героев (w).
Фу нафиг.
Удобнее всего было бы в своей структуре, которую писать в сейв, но для теста сошло и так.

Quote:Вообще, тут не должно быть ничего невозможного: в одном из скриптов вогификации прописана блокировка заклинаний, похожим образом можно осуществить и генерацию. ИИ будет пользоваться магией принудительно, можно просто заставлять его колдовать заклинания при выполнении определённых условий.
Ничего невозможного, просто делать надо, а лень.
Насчет ERM и костылей - колхоз дело добровольное.


RE: Новые заклинания - Bes - 16.08.2020 19:08

если что, перекинул давний пост feanor'а с описанием таблицы заклинаний СЮДА 4


RE: Новые заклинания - feanor - 08.11.2020 03:21

Я просто оставлю это здесь (пока)
кажется, второй самый худший код для героев после реализации драконьей башни, а я неплох в плохом коде!

https://pastebin.com/QJ2Te0tF

Для добавления заклинаний как новых кнопок вообще важны только первые три хука, причем они все проще молотка (в молотке и то деталей больше)

Code:
patcher->WriteHiHook(0x4D95A0,SPLICE_,EXTENDED_, THISCALL_, (void*)GiveSpell_hook);

//Spell book
patcher->WriteLoHook(0x59CD5B,(void*)HasSpellLoHook);
patcher->WriteDword(0x59CDBF,0x2530+0x88*40);

первый позволяет давать новые заклинания, если они, например, заданы в святыне на карте при помощи ERM (как-то так я их и тестил)
третий - отображать их в книге, расширяя просматриваемый массив структур заклинаний, кажется, на сорок (наверное, для примера. 0x88 - sizeof структуры заклинаний)
второй - при отображении их в книге брать их не из артефактов выхода за границы массива заклинаний в структуре героя, а там, куда положил первый

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

SpellCast - собственно каст спелла. Насколько я помню, мы добрались только до ререализации заклинаний существ как заклинаний поля боя (и то не всех), отдельных массовых версий для баффов и какой-то демонстративной палки-убивалки, но там на самом деле делать чистый каеф, ты просто берешь и делаешь геймплей, особо не борясь с обычными проблемами. Можно вообще CallERM вызвать, и обрабатывать в скрипте.

После этого уже идут более нишевые правки.

Дальше идет расширялка структуры анимаций, потому что нам понадобились дополнительные, и вынос её заполнения в текстовик, потому что нам надо было её редактировать не через три кхм пары рук. Расширялка, кстати, несамосогласованная, 999 - это перебор, потому что там все равно дальше мы упираемся в ограничение на знаковый байт. Насколько я помню, оно довольно легко обходимо, но руки не дошли, и нужды не было.

Еще дальше изменение обработки текстовика заклинаний, с выносом в него индекса анимации и флагов.

Еще ниже идут совсем наши заморочки, новая анимация для хладного луча, двоечная анимация для молнии и цепной молнии — кстати, вы знали, что код генерации снарядов-лучей унаследован из двойки со всеми её фичами, даже не используемыми в тройке? теперь знаете — новая анимация для грохота титанов и двоечная же для удачи (комментарий к последнему хуку врет).

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