AviaSkins.Forums

AviaSkins.Forums (http://forum.aviaskins.com/index.php)
-   Вопросы новичков (http://forum.aviaskins.com/forumdisplay.php?f=45)
-   -   Объясните как сделать свой мод (http://forum.aviaskins.com/showthread.php?t=5006)

berrik 31.05.2018 20:36

Объясните как сделать свой мод
 
Я понимаю что такие вопросы у постоянных пользователей как кость в горле, но извините, ответы только как моды ставить. Раньше я очень активно юзал ил, и сидел на профильных сайтах, потом перестал и снова начал играть, в этот раз только оффлайн (народу на серверах совсем мало), под DCG. Играть не получается потому что стал раздражать ИИ, боты какие то нелепые, покрайней мере по сравнению с современным Илом. Хочу ИИ поправить, сделать свой мод, как считаю нужным. Я имею опыт в небольшом моддинге, но в других играх, илами никогда не занимался. Я так понимаю что нужен распаковщик и так далее. Серьёзно, очень прошу помощи, так как их тупизм уже достал. ФМ править не собираюсь, ибо все устраивает.

Grejf11 31.05.2018 23:31

Тут тебе к истокам нужно. Весь адекват с ИИ закончился на версии 4.09. Для начала разбери на кости мод ИИ от Злого Петрушки под 4.09. Он в наличии на складе.

deSAD 01.06.2018 11:29

Цитата:

Сообщение от berrik (Сообщение 177961)
Хочу ИИ поправить, сделать свой мод, как считаю нужным. Я имею опыт в небольшом моддинге, но в других играх, илами никогда не занимался. Я так понимаю что нужен распаковщик и так далее.

Сюда вот не помешает заглянуть :rtfm: Попробуйте также к Василию (a.k.a. Vasya) за помощью обратиться ...

Uzin 01.06.2018 12:47

Очень полезно заглянуть и на ФриМодер:

http://patrulla-azul.com/FreeIL2modding/forum/

berrik 02.06.2018 14:00

Спасибо, начну изучать.

berrik 01.03.2019 21:31

В общем пока прогресса так и нет, большей частью потому что серьёзно темой не занимался. То времени нет, то еще какие то причины. Всё разбираюсь что собственно делать нужно. Тяжелый случай.
Перелопачивая форумы постоянно, от разных пользователей, в разные даты (как в древних некропостах так и в буквально совсем недавних) часто натыкаюсь на одно и ту же сентенцию- "хорошая игра хоть и старая, но не играю из за дурацкого ИИ". Старая графика и слабоватый ФМ (по современным меркам) особо никому не мешают. Одни и те же
жалобы на снайперскую стрельбу ботов при диких упреждениях, полного отсутствия мертвых зон обзора и при этом крайне примитивного и предсказуемого поведения ботов в воздухе.
Ну по крайней мере не один я так думаю.
Но я вроде же помню времена когда дела с искусственным идиотом лучше обстояли?
К кому обращаться за помощью- не знаю. Такое впечатление что как раз ИИ особо из модеров никому не интересен что ли, все пилят модельки. Периодически идут вопросы как выдернуть новый код по ИИ из какого нибудь модпака (якобы там что то делают до сих пор), но кончается ничем.
Да мне бы тут с азами разобраться.
Чево я собственно понял из всего прочитанного.
Понял что поведение ботов вполне можно отредактировать но сложно. Сначала с помощью распаковщика распаковываем SFS архивы, и там будут невнятные файлы именами из букв и цифр, в одном из них и должны быть параметры которые нужно исправлять. Но в каком из этих файлов эти данные содержатся непонятно, мало того, если в ванильной игре они
были в одном месте, то например в последней версии какого нибудь модпака или патча от дедаловцев он может быть совсем в другом. Какие то исправления наслаивались друг на друга и теперь найти что то это проблема.
Ну ладно, идем дальше. Эти невнятные файлы подлежащие редактированию нельзя взять и просто отредактировать в блокноте, они написаны на яве, поэтому с ними сначала нужно проделать ряд манипуляций чтобы редактор явы их мог понять и принять, там в редакторе то что нужно отредактировать, потом нужно с ними проделать обратный ряд манипуляций чтобы игра их могла принять назад. Но затык в том что...я даже не могу объяснить что я не понял потому что я реально не понял- типа там для разных версий ила, например для 4.13 или 4.12 нужно чем то там отдельно для каждого, хеши и что то там с ними делать...Ну декомпиляция\компиляция это понятно но вот это...
Ужас вобщем. Все время как будто идешь навстречу ветру. Какие то проблемы, то большие, то маленькие. Ну кто в теме постоянно тому проблем нет конечно. А если сто лет просто за игру не садился..даже в малом непонятки.
Помню что чтобы с модами летать нужно было раппер в игру закинуть. Смотрю сейчас, а для 4.13.4 раппера то и нет! Это что, придется на более ранню версию персаживаться? Не хотелось бы...
Где эти данные искать среди кучи файлов...хз. Мод "ИИ от Злого Петрушки" так и не нашел, ну у него есть моды но там вроде по зениткам, по бомбам что то.. Ко многим ссылкам линки мертвые, может там то что нужно лежало. Скачал мод "Certificate's Ai", буду в нем ковыряться, если разберусь всё таки что там делать нужно. Пока бы стрельбу бы
поправить, не до большего чего то. Хотя конечно на самом деле и большее тоже поправить хочется. Но теперь боюсь замахиваться. Очень всё...неудобно как то.
Объем такой что непонятно с какого бока браться.

Leopard 01.03.2019 22:56

посмотрите моды ИИ тут, может что подойдет, правда все они для 4.09, но может сможете допилить их для 4.12 и 4.13
http://www.forum.aviaskins.com/showp...62&postcount=3
http://www.forum.aviaskins.com/showp...05&postcount=6
http://www.forum.aviaskins.com/showp...1&postcount=17
http://www.forum.aviaskins.com/showp...2&postcount=18
http://www.forum.aviaskins.com/showp...4&postcount=19
http://www.forum.aviaskins.com/showp...5&postcount=26
вот тут мод ИИ для 4.10
http://www.forum.aviaskins.com/showp...6&postcount=10

berrik 01.03.2019 23:43

Сразу вопрос: почему версия для .09 не подойдет для версии .13? И как это будет выражаться? То есть мы кидаем его в модную папку и ничего не происходит? (Вопрос про раппер для 13.4 тоже всё ещё открыт.)

berrik 01.03.2019 23:46

И еще вопрос: суть моддинга (по тому что я в большом посте написал) я правильно понял, ничего не пропустил?

Dimas1999 02.03.2019 00:01

Раппер от 4.09 подходит на все последующие версии, включая 4.13.4.

Все классы лежат в Files.SFS, SFS экстрактор их не видит, вытаскивать надо специальной программой классдампер (classdumper). Классдампер вывалит 6673 хэша такого вида: 1D732BB8BD3B427C. Перед работой с ними надо будет их расшифровать программой хэш ресолвер (hash resolver), потом появятся файлы с нормальными именами и разрешением .class. Открывать надо джава декомпилятором, при открытии декомпилятором (использую DJ java decompiler) в некоторых местах происходит искажение кода и этот код заново не закомпилируется. Эти искажения надо попробовать исправить, но они появляются не всегда. После редактирования надо закомпилировать или через этот декомпилятор (так и не понял как это делать) или писать batник (берётся готовый шаблон и туда вписывается класс для компиляции). После компиляции надо хэшировать классы программой класс хэшер (class hasher). После всего этого хэши кидаются в папку модс. Для модификации ида потребуется древняя джава 1.3.1_20, иначе ничего не выйдет.

Программы можно взять на фримоддинге, там и инструкции есть, есть на русском пошаговая инструкция: http://patrulla-azul.com/FreeIL2modd...php?f=71&t=989 (требуется регистрация, если не ошибаюсь). У них на сайте и программы есть, так же программы есть тут: http://timqwerty.narod.ru

Есть ИИ мод для 4.13.1: http://forum.aviaskins.com/showthread.php?t=4400 Возможно, это не совсем то, но думаю, можно посмотреть как там устроено и для начала сделать по образцу.

Vasya 02.03.2019 00:03

Цитата:

Сообщение от berrik (Сообщение 190734)
Сразу вопрос: почему версия для .09 не подойдет для версии .13? И как это будет выражаться? То есть мы кидаем его в модную папку и ничего не происходит? (Вопрос про раппер для 13.4 тоже всё ещё открыт.)

Что бы понять устройство игр(неважно на каком языке написанных) надо бы хоть немного ознакомиться с азами программирования. Тогда всё прояснится: ну типа как пелена с глаз спадёт.
Кстати: майнкрафт так же на джаве работает, пятой кажись. Дитё хотело Что то отредактировать - я показал как, но он поленился собирать майнкрафтовскую среду, ну что б всё компиллилось.
Ил, кстати, устроен очень логично и просто.
После начала учёбы по программированию все инструменты для редактирования ИИ Ила появятся сами собой. И для начала нужно научиться понимать что в джава файлах написано, код то есть.
Как то так в общем.

Dimas1999 02.03.2019 00:04

Цитата:

Сообщение от berrik (Сообщение 190734)
Сразу вопрос: почему версия для .09 не подойдет для версии .13? И как это будет выражаться? То есть мы кидаем его в модную папку и ничего не происходит? (Вопрос про раппер для 13.4 тоже всё ещё открыт.)

Версия 4.09 очень сильно отличается от 4.13.4, между кодом там пропасть, моды для 4.09 часто не работают в 4.13.х, от 4.12.х могут заработать почти без правок.

berrik 02.03.2019 00:18

Цитата:

Сообщение от Dimas1999 (Сообщение 190737)

Программы можно взять на фримоддинге, там и инструкции есть, есть на русском пошаговая инструкция: http://patrulla-azul.com/FreeIL2modd...php?f=71&t=989 (требуется регистрация, если не ошибаюсь).
.

Да, я начал читать эту инструкцию на английском, программы тоже видел. Смущает что от одной версии для другой не подходит, искажения про которые вы говорите и т.д. Мда...

Dimas1999 02.03.2019 07:39

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

Про ошибки декомпилятора тоже говорится в той статье:
"О`кей, это ошибочная, искаженная запись. DJ часто создает погрешности декомпиляции, почти в каждом открываемом файле."

Asura 02.03.2019 12:33

Цитата:

Сообщение от Dimas1999 (Сообщение 190757)
Если в классе не вносились изменения между версиями, то они будут работать между версиями.

Не факт, если с связанные классы вносились изменения то даже не измененный класс не заработает.

Чтобы было проще разбираться с поведением ИИ - за это в основном отвечает класс com\maddox\il2\ai\air\Maneuver.java.

В нем прописаны действия для каждой ситуации. Примерно так:

Код:

    case SPIRAL_UP:
      if(first) {
          if(!isCapableOfACM()) {
              if(Skill>ROOKIE) pop();
              if(Skill>NORMAL) setReadyToReturn(true);
          }
                    }
      setSpeedMode (MAX_SPEED);
      tmpOr.setYPR(Or.getYaw(), 0.0f, 0.0f);
      if (Or.getKren() > 0.0f) Ve.set(100.0f, -8.0f, 10.0f);
      else Ve.set(100.0f, 8.0f, 10.0f);
      tmpOr.transform(Ve);
      Or.transformInv(Ve);
      Ve.normalize();
      farTurnToDirection();
      if((Alt>250.0f && mn_time>8.0f) || mn_time>120.0f) pop();
      break;

Если разобрать этот класс то изменение ИИ вполне реально.

И в нем всего 11166 строк кода :)

berrik 02.03.2019 15:13

case SPIRAL_UP: - уход на вертикаль по спирали?
if(Skill>ROOKIE) pop(); - если навык новичок то вверх? вверх по коду (предыдущая команда) или бот уходит вверх?
if(Skill>NORMAL) setReadyToReturn(true);
дальше скорости, векторы.
надо целиком вобщем смотреть.

Dimas1999 02.03.2019 16:35

Вот среда под 4.13.4: https://drive.google.com/open?id=1WL...9u3_4lOjo842L2 Класс искать по пути com\maddox\il2\ai\air\Maneuver.java.
Декомпилятор: https://drive.google.com/open?id=1NI...s57zN6GtREXWiu

Vasya 04.03.2019 20:47

Вот интересная статья для подумать.
https://habr.com/ru/post/434478/

NB79 05.03.2019 10:57

Цитата:

Сообщение от Vasya (Сообщение 190877)
Вот интересная статья для подумать.
https://habr.com/ru/post/434478/

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

berrik 29.05.2019 21:41

Пока сидел, вникал в азы (с трудом!) пошли скандалы с новым патчем. На 4.14 фич конечно много хороших, и хотелось бы под ним играть а не под тринадцатым, но и ИИ реально надо править...


Текущее время: 17:19. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot