Логин:
Пароль:
Настройки
http://lfforever.ru/design/black.css http://lfforever.ru/design/ds_dw.css http://lfforever.ru/design/xmas.css
Присоединяйся к каналу LFF в Discord!
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Фан Форум для LF'айтеров » Игрострой » Модострой LF2 » Руководства и База знаний » Видеоуроки DBD 2
Видеоуроки DBD 2
27.10.14 22:17 | #1

Репутация: 416
Постов: 8072
DBD 2
Dash by Dash



Exe Tutorial #1



Сабж - вопросница по видеоурокам.
Специально по поводу запуска DBD 2 (?).
Так же приму пожелания, может я что-то упускаю. Или просто что-то не понятно - сообщайте, постараюсь рассказать и показать ^^

Оставляйте и свои мнения. Если вам это интересно - поводов продолжать лишь больше, и делать это приятнее :)

Учтите, что новый курс распространяется только в онлайн формате!

Coding in Assembly requires a mix of:
80% of brain, passion, intuition, creativity
10% of programming skills
10% of tan levels in your blood.
28.10.14 14:44 | #2

Репутация: 165
Постов: 672
Archer-Dante, прикольно )
Надо бы тоже попробовать потом, как-нибудь.

23.11.14 16:15 | #3

Репутация: 0
Постов: 22
попрошу ответить знающих на некоторые вопросы: где прописано в lf2.exe и как изменить: регенерация светлой, тёмной полоски хп, и как удалить -1/2 от урона по тёмной полоске хп; регенерация мп, бронь, искусственный интеллект для каждого id; новый статус трансформации как id 6 в id 50 типа state: xxyy, где xx например 20, yy - id после трансформации; ограничение создания персонажами объектов-персонажей, например, на 4 (как rudolf своих бесконечных клонов) и их хп при создании. знаю, что самому я это не смогу сделать, поэтому обращаюсь к lfforever. если мои запросы непомерны, то прошу отказать.
[ Маленький Фриз говорит: это сообщение было отредактировано!]
23.11.14 16:23 | #4

Репутация: 0
Постов: 22
скачивал заплатку 2250 хп и выяснил что диск у john'а, щит магический и всякие снаряды, которые следуют за противником, ураган у freeze увеличили свою длительность в 3-4 раза. не знаю, как можно уворачиватся от 2-3 дисков, поэтому прошу излечить http://lfforever.ru/load/35-1-0-241 если так не задумано.
[ Маленький Фриз говорит: это сообщение было отредактировано!]
23.11.14 19:15 | #5

Репутация: 416
Постов: 8072
Цитата
скачивал заплатку 2250 хп и выяснил что диск у john'а, щит магический и всякие снаряды, которые следуют за противником, ураган у freeze увеличили свою длительность в 3-4 раза. не знаю, как можно уворачиватся от 2-3 дисков, поэтому прошу излечить http://lfforever.ru/load/35-1-0-241 если так не задумано.

1. Какое отношение это имеет к данной теме?
2. Авторов этой вещи давно нет. И излечивать такое никто не станет по определению, потому что заплатка делалась в обучающих целях, а не для использования.


Вообще я говорил спрашивать из того, что не понятно на видео.
Если не понятно ничего там, зачем задавать куда более сложные вопросы, если ответы будут ещё более непонятными?
Хорошо, буду отвечать из предположений, что опыт работы с ассемблером, Cheat Engine и OllyDBG \ ImminityDBG имеется достаточный.

Цитата
регенерация светлой, тёмной полоски хп

Найдите через Cheat Engine, то что использовалось видео, сначала полоску светлого здоровья.
Потом используя меню "...what access to the addres" найти ВСЁ что записывает в это значение.
Из всего показанного списка можно найти нечто вроде "ADD [выржение+2FCh], 1" или что-то подобное. Это будет добавление здоровья, то есть регенерация его.
Там же можно будет прописать выражение "ADD [выржение+300h], 1" и тогда здоровье будет увеличиваться ещё и темное.
2FC - это светлое здоровье
300 - это темное здоровье

Цитата
как удалить -1/2 от урона по тёмной полоске хп

Три пути:
- Найти место, где прописано деление на 50% и убрать деление
- Найти место, где вычитается половина урона из темного здоровья. Нужно просто убрать вычитание.
- Ещё можно прописать выравнивание темного здоровья обратно в 500 после каждого такого урона. Оно будет отниматься на мгновение и тут же восстаналиваться обратно.

Цитата
регенерация мп

Так же как с хп, искать через Cheat Engine

Цитата
искусственный интеллект для каждого id

Примерные адреса AI можно найти в DLL, AI.inc переполнен этими адресами под разных персов и снаряды.

Цитата
новый статус трансформации как id 6 в id 50 типа state: xxyy, где xx например 20, yy - id после трансформации

Нужно найти статус такой трансформации в коде. Увы, я его даже не искал. Но у Луиса есть отличительная особенность, после его трансформации персонаж в меню не меняется, если он ограничен паролем, а пароль не набран. Другие преимуществ нету у такого метода.

Цитата
бронь

LDK \ PDK \ Neora
не нужно изобретать велосипед

Цитата
ограничение создания персонажами объектов-персонажей, например, на 4 (как rudolf своих бесконечных клонов)

Лучший способ решать это - решать вопрос через DC, всё не так уж сложно. когда есть IK8.

Coding in Assembly requires a mix of:
80% of brain, passion, intuition, creativity
10% of programming skills
10% of tan levels in your blood.
23.11.14 21:07 | #6

Репутация: 122
Постов: 854
Цитата Archer-Dante ()
Три пути:
- Найти место, где прописано деление на 50% и убрать деление
- Найти место, где вычитается половина урона из темного здоровья. Нужно просто убрать вычитание.
- Ещё можно прописать выравнивание темного здоровья обратно в 500 после каждого такого урона. Оно будет отниматься на мгновение и тут же восстаналиваться обратно.

А мне казалось что по темной полосе идет 66% урона.. (или 33%, не помню точно что кажется..)

Цитата Archer-Dante ()
Лучший способ решать это - решать вопрос через DC, всё не так уж сложно. когда есть IK8.

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

23.11.14 21:13 | #7

Репутация: 416
Постов: 8072
Цитата
А мне казалось что по темной полосе идет 66% урона.. (или 33%, не помню точно что кажется..)

Не знаю, это и не важно даже, область, которая найдется от этого не меняется, только формула рассчета.

Цитата
Таким способом можно сделать ограничение на использование приема для создания персонажей.. создать проверку в реальном времени (ну или при активации определенного кадра..) на количество всех объектов-персонажей одного айди - довольно долгий процесс (по сравнению с желаемым результатом), еще и трудоемкий.

Полчаса, не больше.

Coding in Assembly requires a mix of:
80% of brain, passion, intuition, creativity
10% of programming skills
10% of tan levels in your blood.
23.11.14 22:47 | #8

Репутация: 122
Постов: 854
Archer-Dante, Мне потребуется больше. я сделаю вначале тупую ошибку и буду два дня искать причину неработоспособности кода)
24.11.14 00:41 | #9

Репутация: 416
Постов: 8072
ну давай порассуждаем)

С ехе-решением проблем будет куда больше
beer Решение курильщика~ beer

Тут нужно было бы, чтобы игра каким-то образом подсчитывала количество не только призываемых объектов, но ещё и узнавало. сколько из них в живых. Насколько помню, в самом лф2 нет никакого счетчика, который мог бы указывать на число объектов, принадлежащих тому или иному персонажу на поле боя.
Есть команды, но это не то.
У меня голова трещит по швам, пытаясь прикинуть, как много всего связано в АСМ-коде с такой мелочью!

По факту у игры есть процедура создания объекта. Создается объект, где в его атрибуты вносится тип объекта, его список кадров и их связей, и так далее. Но сама процедура объекта просто создает его, создавая туеву хучу указателей на дамп файла.
После того как объект заработал в игре, он попадает в цикл обработки каждый TU (Time Unit), которая в LF равна примерно 1\30 секунды. За это время объект мы видим в игре и он что-то делает там всегда.
Когда объект доходит до момента назначения в 1000-й кадр, происходит процедура удаления объекта. Именно по этой причине, если персонаж переходит, например, в кадр 358, а кадра нет, то на том месте обычно есть тень, но объект не исчезает, и не удаляется.

Так вот, ближе к делу.
Чтобы узнать сколько объектов-клонов сейчас активно, нужно сначала создавать целый фильтр объектов, которые создаются кем-то. Записывать результат этих создаваемых объектов, а так же потом вычитать их из того счетчика, когда они попадают под процедуру удаления, причем надо ещё как-то вытаскивать значение о владельце. А оно ведь явно не у всех типов объектов есть вообще. Например type 3 точно имеет инфу о владельце, т.к. потом в табличке мы видим в результатах урон, нанесенный и снарядами тоже.
Очень много мороки с сомнительной целью.


А теперь о DC-решении
box_tan Решение здорового кодера! box_tan

1. Создаем 4-х клонов (или любое число), каждый со своим ID. Каждый вызывается отдельно, и используя action: (ключевой кадр).
2. В ключевом кадре есть IK8, который цепляется за спец-тело bdy.
3. Прописываем это спец-тело всем кадрам каждого клона. Соответственно каждому клону своя Y-высота.
4. Если во время action-призыва персонаж-клон в течении секунды-трёх не может зацепиться за что-либо, то он призывается.
5. Если персонаж цепляется - значит такой персонаж уже есть на поле, тогда его кидает в кадр 1000 и движок его удаляет, не давая появиться.

Так мы пропускаем необходимость создавать сторонние объекты, которые могут пропадать между стадиями, или давать проблемы по другим причинам.
Решение простое, т.к. нам по сути нужно создать 1 такой шаблон, а далее просто наделать копий с подменой ID и Y-координат (в которых советую в старших числах использовать ID для наглядности, например высота "y: 1100000", где 11 - число указывающее на ID персонажа Davis).


Вот и всё.
Очевидно, что имея под рукой PDK\Neora c возможностью скрывать type-0 объекты без проблем, можно запросто сделать такие штуки, и они, черт подери, будут куда более безопасными и рабочими, чем любое EXE-решение.

Что по-вашему проще и эффективнее?)

Coding in Assembly requires a mix of:
80% of brain, passion, intuition, creativity
10% of programming skills
10% of tan levels in your blood.
24.11.14 13:55 | #10

Репутация: 122
Постов: 854
Цитата Archer-Dante ()
1. Создаем 4-х клонов (или любое число), каждый со своим ID. Каждый вызывается отдельно, и используя action: (ключевой кадр).

Я о таком не думал. да, так проще.. но требует больше объектов. стандартный ЛФ2 ограничен в них.. ну ладно..

Фан Форум для LF'айтеров » Игрострой » Модострой LF2 » Руководства и База знаний » Видеоуроки DBD 2
  • Страница 1 из 1
  • 1
Поиск: