Управление ближним ударом стека - 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=192) +---- Thread: Управление ближним ударом стека (/showthread.php?tid=2587) |
Управление ближним ударом стека - Sav - 27.11.2010 23:12 Dll модифицирует код определения целей при ближнем ударе существ. Для Era 1.9 и выше. Damage.era (v1.02). Исходник (MSVC++). Возможности: (Click to View) Использование dll (Click to View) Что на самом деле происходит (в порядке выполнения): (Click to View) Что происходит в некоторых в специфических случаях: (Click to View) Пример скрипта на основе dll (даёт пожарам свойство - при ударе атаковать сразу все стеки противника): (Click to View) RE: Управление ближним ударом стека - Berserker - 28.11.2010 00:35 Sav, есть предложение параметры устанавливать через SN:X (как - покажу). Второе предложение - номер пост-триггера назначить на 78ххх, то есть следующая тысяча после Эры. Более универсально и логически правильно будет, IMHO. RE: Управление ближним ударом стека - Sav - 28.11.2010 00:58 Berserker Wrote:Sav , есть предложение параметры устанавливать через SN:X ( как - покажу ).Дело в том, что между установкой параметров и их использованием может выполниться немаленький кусок кода. Кроме того, как только цель вычисляется, по ней сразу же наносится удар с вызовом !?MF, а лишь потом вычисляется следующая цель (с использованием параметров, естественно). Если переданные через !!SN:X параметры сохранятся после всего этого, то, конечно, лучше передавать через них и не занимать переменные. Berserker Wrote:Второе предложение -Без проблем. RE: Управление ближним ударом стека - Berserker - 28.11.2010 01:09 Quote:Кроме того, как только цель вычисляется, по ней сразу же наносится удар с вызовом !?MF, а лишь потом вычисляется следующая цель (с использованием параметров, естественно).Можно ли сделать триггер на начало удара? RE: Управление ближним ударом стека - Sav - 28.11.2010 01:45 Вот как условно выглядит сруктура кода после модификации: Code: ... Триггер здесь можно вствить куда угодно, будет ли от него толк - другой вопрос. RE: Управление ближним ударом стека - Berserker - 28.11.2010 02:28 Триггер нужно поставить до входа в цикл. В модуле: Code: TYPE EventsParam будет указывать на массив из 64 параметров SN:X. В триггере до входа в цикл нужно лишь обнулить первые два значения, вызвать ЕРМ-функции, сохранить два значения в LeftSideBits и RightSideBits. А в самом цикле использовать их, а не v-ки. RE: Управление ближним ударом стека - Sav - 28.11.2010 18:55 Спасибо. Переделал. RE: Управление ближним ударом стека - Sav - 01.01.2011 20:19 Обновил dll - теперь она модифицирует и удар без флага бить всех вокруг (через вмешательство в проверки на этот флаг). RE: Управление ближним ударом стека - Sav - 03.01.2011 17:11 Обновил dll. Теперь она перед вызовом dll определяет, какие цели должны быть у удара, если его не модифицировать. Теперь и исходник не стыдно выложить. RE: Управление ближним ударом стека - Berserker - 03.01.2011 17:25 Отлично. Тестил на надёжность? //Переенная битов целей атакующей стороны (1-й - 21-й биты) и включённости модификации (32-й бит). //Если старые цели не совпадают с новыми, записываем новые цели в переменные целей и включаем модмфицирование. Quote:Damage_ch_shit RE: Управление ближним ударом стека - Sav - 03.01.2011 18:53 Спасибо за орфографию. Berserker Wrote:Тестил на надёжность?Да, тестил на пожарах, лазурных драконах, горынычах и церберах - ошибок нет. Не могу 100% гарантировать, что всегда будет нормально (всё-таки из-за проверки 2 раза выполняется большой кусок кода с записями в стек и пр.), но судя по тестам, все типы ближних ударов работают. Quote:Damage_ch_shitЭто standart hit. Я не специально. RE: Управление ближним ударом стека - Sav - 03.01.2011 22:20 Обновил dll. Теперь в ней можно получить (изменить нельзя) номер основной цели (той, на которую игрок нажал мышкой при ударе) и номер атакующего стека. Последнее наконец-то даёт возможность нормально использовать эту dll. Скрипт в примере теперь полностью рабочий и не обладает побочными эффектами. RE: Управление ближним ударом стека - Sav - 07.06.2011 17:25 Исправил ошибку с адресом, из-за которой удар со сработавшим дыханием дракона блокировался. RE: Управление ближним ударом стека - izrukvruki - 07.06.2011 18:31 я плакаЛь (плакающий смайл есть у нас?), вспоминая те времена, когда каждый мод снабжался примерчиком (была такая практика), на котором каждый смертный мог видеть, что дает данный мод... RE: Управление ближним ударом стека - Sav - 07.06.2011 22:53 Вот такой есть: . Только у меня "что даёт" написано отдельно, а пример, скорее, для "как использовать". RE: Управление ближним ударом стека - Sav - 19.02.2012 18:45 Переписал на C++. RE: Управление ближним ударом стека - igrik - 19.06.2014 14:45 Sav, верни жизнь ссылкам. И на исходники тоже RE: Управление ближним ударом стека - Sav - 20.06.2014 21:07 https://www.dropbox.com/s/4pc8c41b657yt17/Damage.era https://www.dropbox.com/s/5cap0hqjiezynst/Damage.zip Правда в исходниках там сплошной ассемблер, и я не помню, какая версия Эры нужна и не знаю, работает ли на текущей. |