Current time: 21.04.2024, 22:18 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
Ваши вопросы по ERM-скриптам
Author Message
XEPOMAHT Offline
Moderators

Posts: 2270
Post: #6721

(26.06.2020 02:22)daemon_n Wrote:  Как узнать позицию текущего отряда на поле боя?

1. Dword combatManager.Структура_атакующего
2. Dword Структура_стека.Позиция

На ERM:
1. !!BG:N
2. !!BM:P
(This post was last modified: 26.06.2020 03:02 by XEPOMAHT.)
26.06.2020 02:52
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16488
Post: #6722

Algor, тянуть не нужно. Обновляются библиотеки централизованно. Каждый баг вручную во всех модах править — извольте. Так точно никто и нигде не делает.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
26.06.2020 03:00
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2814
Post: #6723

(25.06.2020 23:48)Algor Wrote:  Я НЕ рассматриваю библиотеку как мод, который, как когда-то "базовый WoG", надо использовать целиком.
Если тебе/твоему моду нужны 2 события и 4 функции, ты скопируешь себе 6 файлов и будешь счастлив.

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


game bug fixes extended.dll || My Plugins || My GitHub
26.06.2020 10:12
Visit this user's website Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 5422
Post: #6724

igrik Wrote:
а как получить в z1 имя озвучки указанного существа?
поменять местами источник и получатель?
!!SN:K4/y3/?z1/1; Unsure
26.06.2020 14:45
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16488
Post: #6725

Monstre => Monster
Bes, это функция установки, не получения. Для получения изменить её нужно.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
26.06.2020 15:25
Find all posts by this user Quote this message in a reply
Algor Away
Administrators

Posts: 3880
Post: #6726

(26.06.2020 10:12)igrik Wrote:  Я вживую не видел ни одного примера, чтобы библиотека распрастранялась деталями. Только целиком.
И это самая большая болезнь современного программирования - тонна неиспользуемого кода в любом, по сути, крошечном проекте Bad
Да, это упрощает сопровождение библиотеки и ускоряет разработку - для разработчиков сплошные плюсы. Сплошные минусы падают на пользователя который вынужден терпеть тормоза, тратить время, нервы и деньги на электроэнергию и новое железо.

Печальная правда жизни. Но если для коммерческих проектов это оправдано - их задача делать деньги, то для фанатского - нет.
Вон, в соседней теме как-то не очень была воспринята привязка к 4му дотнету...


BattleHeroes Rus/Eng | ERA scripts (+ReMagic) Rus/Eng
26.06.2020 15:50
Visit this user's website Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 2270
Post: #6727

(26.06.2020 15:50)Algor Wrote:  И это самая большая болезнь современного программирования - тонна неиспользуемого кода в любом, по сути, крошечном проекте Bad
Да, это упрощает сопровождение библиотеки и ускоряет разработку - для разработчиков сплошные плюсы. Сплошные минусы падают на пользователя который вынужден терпеть тормоза, тратить время, нервы и деньги на электроэнергию и новое железо.

Полностью согласен. Когда есть исходники, то лучше включать в программу только отдельные необходимые функции, а не валить весь код в одну кучу (которую потом хрен разгребёшь, особенно когда код слабо комментирован или не комментирован вообще). А в ERM с её лимитом на память это ещё сильнее влияет на разработку мода. А искусством сжатия кода обладают не многие (к примеру, код от SoD у меня сжимается примерно на 5-20%, а код WoG - в 1,5-10 раз 148 , вот что значит хорошая/плохая сборка кода 148 ).

А что далеко ходить - 10 лет назад работал с данными на PS2/PSP, там оперативная память - больная мозоль, проклинаемая многими разработчиками (ради удешевления консолей инженеры идут на всё), в итоге - жесткая экономия каждого байта, различные извращенные оптимизации/методы кодирования/архивирования и прочие консольные приблуды, целиком завязанные на железе и конструктивных пороках консолей, по сравнению с чем разработка на ПК, особенно в высокоуровневых средах, где работа программиста максимально упрощена (но это не повод расслабляться, об оптимизации тоже думать надо), - раздолье и свобода.

Но оборотная сторона медали - время. Когда работаешь не от души, а за деньги, то обычно наплевать: лишь бы работало и отстаньте от меня. Во времена, когда ИИ обучится писать софт, количество монстрософта вырастет в разы и настанет время сервисов (когда штатные компы уже не будут тянуть "современные" программы 148 ).
(This post was last modified: 26.06.2020 16:48 by XEPOMAHT.)
26.06.2020 16:19
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16488
Post: #6728

Algor, ты пробовал копаться в тысячах файлах, рефакторить их, писать функции с зависимостью от 5-и других функций и т.д.? Модули придумали как раз оттого, что сотни констант, функций и структур данных взаимосвязаны. Дробить их на полностью автономные части нет никаких возможностей. Есть определённый предел разумного разделения.
И очень проблемно, когда какой-то мод содержит древнюю версию одной скопированной функции, которая перекрывает версию из основного мода.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
26.06.2020 17:30
Find all posts by this user Quote this message in a reply
daemon_n Offline
Administrators

Posts: 4338
Post: #6729

XEPOMAHT, спасибо - странно, что я сам не нашел.

Кстати, есть ли возможность отпраить существо его ножками (крылышками), а не телепортом?


Image: widget.png?style=banner2

Новейший Heroes 3 Launcher
26.06.2020 19:16
Visit this user's website Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 2270
Post: #6730

(26.06.2020 19:16)daemon_n Wrote:  Кстати, есть ли возможность отпраить существо его ножками (крылышками), а не телепортом?

Вызов функции Battle_Stack_MoveToPosition или переходника на неё:

// монстр идет в позицию
//esi -> CombatManager
//ebx -> Monster Structure
mov ecx,[esi+44]
push 00000001
push ecx
mov ecx,ebx
call H3WOG.00445A30

Или можно отредактировать BR:P, убрав мгновенное перемещение монстра (т.к. телепорт в координаты сделан костылями).
(This post was last modified: 26.06.2020 19:45 by XEPOMAHT.)
26.06.2020 19:41
Find all posts by this user Quote this message in a reply
Algor Away
Administrators

Posts: 3880
Post: #6731

(26.06.2020 17:30)Berserker Wrote:  Algor, ты пробовал копаться в тысячах файлах, рефакторить их, писать функции с зависимостью от 5-и других функций и т.д.?
Berserker, а что не в миллиардах и с тысячными зависимостями? Утрировать, так утрировать.

У нас тут, напоминаю всем кто забыл/не следил, несколько новых событий. Событий, Карл! Какой к хренам рефакторинг и множественные зависимости?
Я еще не смотрел, как сделал igrik, но, подозреваю, все также: один адрес - один хук, + минимальная стандартная обвязка.
Что там рефакторить? Сложил в один маленький файл Event_xxx и всё - пользуйся до скончания века или пока не поменяется адресация в связи с какими-нить глобальными изменениями платформы.
Один файл с одним неделимым и нерасширяемым функционалом.
Это не постоянно растущая библиотека все-в-одном-листать-устанешь, которая куда вероятнее окажется в нескольких модах одной сборки в различных ипостасях-версиях и породит неработоспособность.


BattleHeroes Rus/Eng | ERA scripts (+ReMagic) Rus/Eng
26.06.2020 21:39
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16488
Post: #6732

Algor, затем этот один файл изменён, изменён адрес хука, исправлена ошибка, добавлено два параметра. А в твоём моде старая версия. Обновлять во всех модах? Серьёзно? Никто даже не будет сравнивать файлы. Смысл разбиения на файлы? В редакторе в разы удобнее навигацией пользоваться, массовое редактирование использовать, автодополнение.

Quote:которая куда вероятнее окажется в нескольких модах одной сборки в различных ипостасях-версиях и породит неработоспособность.
Библиотека должна быть отдельной зависимостью. Если кому-то нужно выдрать кусок в свою уникальную мод-карту, то почему не сделать CTRL + R, не найти функцию за секунду и не скопировать?


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
26.06.2020 21:57
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2814
Post: #6733

По созданию событий я планирую создать новый скрипт 80 wog - base functions.erm и убрать данный функционал из 78 wog. Но разделять каждое событие на отдельные файлы я не буду. Я не считаю это правильным. Если кто-то захочет использовать одну единственную функцию - пусть вытаскивает ее из файла и использует в своём моде со своим уникальным названием функции. Я вижу это так, и буду делать так.

А мод Wog Scripts уже на данный момент сам по себе уникальная библиотека


game bug fixes extended.dll || My Plugins || My GitHub
26.06.2020 22:02
Visit this user's website Find all posts by this user Quote this message in a reply
daemon_n Offline
Administrators

Posts: 4338
Post: #6734

igrik, логичнее уж назвать 80 ERA - base functions.erm. Yes


Image: widget.png?style=banner2

Новейший Heroes 3 Launcher
26.06.2020 22:49
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16488
Post: #6735

daemon_n, нет, wog префикс лучше для мода со скриптами WoG.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
26.06.2020 23:45
Find all posts by this user Quote this message in a reply
« Next Oldest | Next Newest »
Post Reply 


Forum Jump:

Powered by MyBB Copyright © 2002-2024 MyBB Group