Объявления |
---|
Друзья, если не получается зарегистрироваться, напишите на почту vdv_forever@bk.ru. Я оторву свою задницу от всех дел и обязательно Вас активирую! Добро пожаловать на геройский форум! |
Re: Как создать плагин для HD модаПлагин для чистой версии SoD 3.2 EN (HD mod без дополнительных примочек). На наличие или отсутствие грейженого стека карта влиять не может. Важны только координаты и Seed. Что-то не так с Englification_Pack, возможно?
|
Re: Как создать плагин для HD модаПроверил. Грейженый стек есть на (25, 9, 0). Проверяйте свою сборку Героев (плагины/моды).
|
Re: Как создать плагин для HD модаAlexSpl писал(а): Это обычный англификатор с оригинальными картами. Дело в том, что я проверял даже без Englification_Pack. Русская версия героев от Бука, на карте Аппеляция - грейженный стек есть всегда. Взял закинул оригинальную карту Reclamation и грейженного стека не стало. Включена опция HD+. Никаких других плагинов больше не подключено. Как это объяснить тогда? |
Re: Как создать плагин для HD модаДа, с откл HD+ грейженный стек есть всегда. Но очень странно, что с вкл HD+, он на русской карте есть, а на оригинальной отсутствует.
Rolex писал(а): Creature Split (Разделение существ) Восстанавливает действие стандартного алгоритма распределения отрядов при нападении на нейтральных монстров, даже с включенной надстройкой HD+. то кол-во отрядов Золотых големов в Пирамиде начинает отображается верно. А вот Заброшеной шахте фиолетово включенна эта опция или нет, кол-во отрядов Троглодитов всегда отобржается верно с HD+. А здесь почему так происходит, что для Заброшенной шахты работает, а для Пирамиды нет? Если код опции Creature Split включить в наш, то должно все заработать везде. AlexSpl писал(а): Лоухук? Последний раз редактировалось Rolex 04 фев 2021, 12:44, всего редактировалось 4 раз(а).
|
Re: Как создать плагин для HD модаЕсли координаты одни и те же, то, возможно, HD+ формирует Seed, используя какие-то данные карты.
Цитата: Да. Наверное, самое сложное для тех, кто начинает писать плагины, - это поиск адресов для хуков Цитата: Сложно предположить. Если исправление возвращает оригинальный Seed, то всё должно работать везде |
Re: Как создать плагин для HD модаAlexSpl писал(а): Вы не так меня поняли. С вкл опцией все везде и работает. Вопрос был в том, почему с откл опцией Creature Split (тоже самое, если откл SoD_SP) Заброшенная Шахта разбивается нормально с вкл HD+ (getStacksCount работает правильно), а Пирамида нет (getStacksCount работает не правильно). PS: Хотя с шахтой по-разному бывает в зависимости от координат. Просто хотелось бы сделать, чтобы он разбивал как с HD+, так и без него - всегда правильно. Заброшенная шахта: (25, 9, 0) - разбивает верно даже с HD+. (55, 89, 0) - разбивает неверно с HD+. Последний раз редактировалось Rolex 05 фев 2021, 18:02, всего редактировалось 8 раз(а).
|
|
Re: Как создать плагин для HD модаPyramid has 2 enforced stacks of 20 diamond golems each, that means maximum 5 stacks for 40 gold golems.
The complete procedure also has extra steps for rearranging stacks order based on the gold golem split. |
Re: Как создать плагин для HD модаAll possible cases for the Pyramid:
1) (1 * 40) gold + (2 * 10) diamond golems 2) (2 * 20) gold + (2 * 10) diamond golems 3) (1 * 14 + 2 * 13) gold + (2 * 10) diamond golems 4) (4 * 10) gold + (2 * 10) diamond golems 5) (5 * 8) gold + (2 * 10) diamond golems |
Re: Как создать плагин для HD модаПоправил коэф. и кол-во отрядов в коде функции, которая вычисляет кол-во отрядов на которое разобъется охрана Пирамиды с вкл HD+.
k, как я понял, соотношение силы армии героя к силе охраны Пирамиды. И вроде как все работает теперь верно с HD+. Думаю, можно было бы прямо из плагина проверять используется ли режим HD+ и если ДА, то тогда использовать в плагине функцию getStacksCountPyramid, иначе - getStacksCount. Но есть парочка моментов. В функцию getStacksCount передаются еще координаты объекта и используються какие-то коэф. из массива devCoef[] для вычисления splitValue по какой-то интересной формуле. Нужно ли Deviation для Пирамиды проделывать или только для Заброшенной шахты? Если с Deviation, то функция часто возвращает неверный результат в функции с Пирамидой, поэтому пришлось ее закоментить. Но раз эти координаты передаються и используются в функции, то, видимо, есть ситуации, когда они непосредственно влияют на разбивку охраны. Верояно, нужно просто подправить код Deviation под Пирамиду. Пирамида: (32, 86, 0) - координаты входа < 0,67 ---> 7 отрядов; < 1.00 ---> 6 отрядов, < 1.50 ---> 5 отрядов; < 2.00 ---> 4 отряда; >= 2.00 ---> 3 отряда (из них всегда 2 отряда алмазных големов)
И второй момент - это то, что на другой карте с другими координатами теже коэф. используються для другого кол-ва отрядов с вкл HD+. Пирамида: (9, 41, 0) - координаты входа < 0.50 ---> 7 отрядов; < 0.67 ---> 6 отрядов, < 1.00 ---> 5 отрядов; < 1.50 ---> 4 отряда; >= 1.50 ---> 3 отряда (из них всегда 2 отряда алмазных големов)
И еще один кейс. Пирамида: (68, 105, 0) - координаты входа < 0.50 ---> 6 отрядов; < 0.67 ---> 5 отрядов, < 1.00 ---> 4 отрядов; >= 1.00 ---> 3 отряда (из них всегда 2 отряда алмазных големов) Здесь разбивки Золотых на 5 отрядов вообще нет, максимум - 4. Вот здесь видимо нужно Deviation использовать.
Понимаю, что HD+ меняет Seed, но можно же и к HD+ адаптировать как-то работу плагина. PS: в исходниках SoD_SP: https://github.com/RoseKavalier/H3Plugi ... /sodsp.zip нашел в файле improvements.cpp то, что нужно, но у меня оно почему-то не работает (THISCALL_1 не определен). Куча файлов, библиотек, переопределений...
|
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3