Автор Тема: [SMD] Неполноценный хак FIFA 96  (Прочитано 7078 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Razuka

  • Пользователь
  • Сообщений: 90
    • Просмотр профиля
[SMD] Неполноценный хак FIFA 96
« Ответ #60 : 27 Февраль 2024, 09:20:22 »
В моём случае на каждую проверку изменений порой уходило секунд 5 - нажать цифру в программе, тыкнуть на эмулятор, нажать F5 (перезапустить игру) и 4 (ускорить), и ещё пара нажатий в меню игры, чтобы уже проверить. Как робот, автоматически
А, так надо было еще и перезапускать игру!
Я просто прогнал Глитчер пару раз в работающем Роме без перезапусков и удивился, что ничего не произошло  :lol:
Ок, тогда еще буду тестировать! Спасибо тебе за подробное разъяснение  :drinks:

Добавлено позже:
Может же быть, что нет кода травмирования в игре, кроме пункта меню? Почему бы тогда нужное из 96 не перенести в 97 или 98? Тогда не придётся создавать систему травм.

Ох, тут все, что угодно может быть. Но я надеюсь, что код все же есть, просто по какой-то причине он не срабатывает.
В теории скрестить лучшее из 96 и 97 возможно, но я даже боюсь представить, сколько это займет времени и ведь нужно еще найти толкового программиста, а лучше нескольких. И, важно, чтобы они хотя бы немного понимали суть самой игры и ее правил. Т.е. тут еще нужно некое вдохновение.
Но я уверен, что в недалеком будущем это станет возможным.

Добавлено позже:
2 и 4 - как можно быстро устроить это? В Практике можно? Или достаточно сразу при старте матча бежать с мячом к краю?
Этим даже не буду тебя мучить, так как данные моменты являются плавающими.
Тут, вероятно, нужно делать заранее сейвы, чтобы было проще отследить нужные инструкции.
Я постараюсь хотя бы по некорректному вбрасыванию мяча скинуть сэйв и ссылку на видео, чтобы было понятнее.

Добавлено позже:
3 Т.е. достаточно поменять букву? Как мне увидеть это в игре? Куда заходить? Там можно всех сделать G/D или же только менять местами? Есть ещё другие буквы?

В игре у каждого игрока есть характеристики (Skill, Speed, Shooting, Passing, Ball Control, Aggression, Agility, Reaction, Fitness).
За значение каждой хар-ки отвечают параметры от 1 до 16, где 1 (min) = 50, а 16 (max) = 95.
Если у вратаря или любого другого игрока снизить хар-ки до минимума (до 50 в игре), то вратарь все равно будет хорошо отбивать мяч, а остальные игроки уже начнут более охотно пропускать голы.
Всего есть 4 буквы:
G- голкипер
D - защитник
M - полузащитник
F - форвард (нападающий)

Но, в принципе, для тестирования совсем не обязательно искать игрока с самыми низкими параметрами. Можно брать любого игрока в составе команды и менять его с голкипером местами.
Есть еще способы:
- можно создать игрока с любыми хар-ми через внутренний редактор игры, а затем сделать его трансфер в любую команду;
- можно воспользоваться внешним редактором игроков, который я тут выше выкладывал.

Игре вроде бы все равно, сколько в составе будет защитников, нападающих или вратарей. Можно хоть весь состав сделать защитниками или вратарями  o_0

Добавлено позже:
Вчера пару часов потратил на попытки найти, где меняется кол-во клубов в лиге, но к своему изумлению, я не нашел. Это провал.
Помню, что вроде недалеко возле списка составов.
Там каждый клуб под своим значением, и значением лиги.

Vurzum, есть хорошие новости.
Je$TeR вышел на связь и пообещал, что сможет подсказать, где меняются составы лиг и т.д.
Так что будем ждать :)
« Последнее редактирование: 27 Февраль 2024, 09:53:49 от Razuka »

Оффлайн perfect_genius

  • Пользователь
  • Сообщений: 1176
    • ВКонтакте
    • Steam
    • Просмотр профиля
[SMD] Неполноценный хак FIFA 96
« Ответ #61 : 27 Февраль 2024, 15:38:58 »
А, так надо было еще и перезапускать игру!
Значит, инструкцию как пользоваться, ты не читал? Вот и выявился первый баг интэрфэйса - моя программа должна быть понятной без инструкции, поэтому изменил текст в самой программе, добавил про перезапуск :thumbup:

В теории скрестить лучшее из 96 и 97 возможно
Между этими тремя много отличий? Ни одна не имеет больше всего фишек из остальных?

Я постараюсь хотя бы по некорректному вбрасыванию мяча скинуть сэйв и ссылку на видео, чтобы было понятнее.
Вот тут у тебя уже есть сохранения и видео ниже.
Я пытаюсь донести до тебя принцип работы с моей программой. Мне (тебе) надо будет воспроизводить этот баг часто, постоянно. Думал, что сохранение перед багом не совместимо с порчей рома. Но сейчас проверил на своих хаках, и это сработало! :wow: Надо теперь убедиться в надёжности такого способа.
По той ссылке ты вводишь дополнительные коды. Можно ли от них избавиться, если сохраниться после их введения, чтобы каждый раз не вводить? Проверь.
Ещё рекомендую записать рэплэй до бага, чтобы потом по нему можно было сохраниться где удобно. Сохраняться желательно не прямо перед багом, а перед включением режима с ним. Например, во время матча сработал триггер на переход в режим штрафного удара. Нужно сохраниться в этот момент, пока игра ещё не перешла в режим. Тебе надо сделать сохранения до бага по твоим пунктам 2, 4 и 5, значит.
Так в Практике есть эти режимы или нет?
А ещё я вижу, что в игре есть свои рэплэи - они сохраняются даже после сброса? Например, из-за батарейки на картридже.
Тоже могут помочь, если в них сохранить баг. В той моей теме тебе записали видео как раз по рэплэю игры, как я понял.

Пункт 3 пока сложный. У меня мысль такая: в памяти есть массив по количеству игроков. Он заполняется этими буквами. Потом проверка проходит по нему, видит букву и указывает на ряд указателей, связанных с этой буквой: среди них указатель на картинку буквы и указатель на логику поведения.
Если это верно, то надо просто изменить указатель на логику поведения у G на указатель на логику поведения D. Тогда все остальные указатели, включая на картинку буквы, сохранятся.
Глитчер пока меняет только "да/нет", поэтому пока подумаю, что ей надо добавить далее - поиск всяких значений, структур и т.д.

Представь, что у G изменилось поведение на неизвестно какую из букв:
D - защитник
M - полузащитник
F - форвард (нападающий)
Как скоро ты определишь, что за буква была выбрана? Только во время матча или можно как-то уже в начале? Узнаётся только по количеству пропущенных/пойманных мячей?

Оффлайн Razuka

  • Пользователь
  • Сообщений: 90
    • Просмотр профиля
[SMD] Неполноценный хак FIFA 96
« Ответ #62 : 27 Февраль 2024, 16:12:51 »
Значит, инструкцию как пользоваться, ты не читал?
Читал в той теме, где Глитчер прикреплен. Но, возможно, что я не совсем понял принцип работы в тот раз. :neznayu:

Добавлено позже:
Между этими тремя много отличий? Ни одна не имеет больше всего фишек из остальных?

Да, отличия есть, и порой весьма существенные.
Хоть они и похожи структурно, но все же - это три разные игры. Особенно это касается темпа игрового процесса.

Добавлено позже:
Вот тут у тебя уже есть сохранения и видео ниже.
По данному пункту вопрос уже решен. Его Марат помог исправить, за что ему огромное спасибо!
Этот момент был основным багом - выбивание мяча игроком своей команды в свои же ворота или на угловой. Этот пункт мы уже успешно преодолели.

А я имел ввиду другой момент, который еще предстоит решить - это когда игрок руками после аута выкидывает мяч ("Вбрасывание мяча") из за боковой линии поля ровно по линии (кромке) этого поля.
Иногда комп. игрок зацикливается на этом неудачном вбрасывании и до 5-6 раз может все в том же одном направлении кидать мячик, пока не сменит угол вбрасывания и не попадет наконец таки в поле для игры.  :lol:

Добавлено позже:
Если это верно, то надо просто изменить указатель на логику поведения у G на указатель на логику поведения D. Тогда все остальные указатели, включая на картинку буквы, сохранятся.

Вот я тоже логически к этому склоняюсь, что у G и D - разные формулы (уровни) при обороне ворот.

Добавлено позже:
Так в Практике есть эти режимы или нет?
"Практику" я не использовал, так как мне этот режим особо не был интересен.
Но попробую сегодня вечером поизучать и его.

Добавлено позже:
Представь, что у G изменилось поведение на неизвестно какую из букв.
 Как скоро ты определишь, что за буква была выбрана? Только во время матча или можно как-то уже в начале? Узнаётся только по количеству пропущенных/пойманных мячей?:

Думаю, что на глаз определить будет невозможно.
Я лишь могу с большой долей уверенности предположить, что бонус за защиту ворот имеет только буква G, а остальные 3 буквы обладают одинаковым "весом" (одинаковые значения, показатели) при парировании ударов противника.

Я понимаю, что очень заморочился этим вопросом. Но... рано или поздно эта игра покорится.
На финише нужно будет разложить всю логику поведения игроков, улучшив им AI. Звучит, конечно, забавно.
« Последнее редактирование: 27 Февраль 2024, 16:40:16 от Razuka »

Оффлайн Je$TeR

  • Пользователь
  • Сообщений: 39
    • Просмотр профиля
Re: [SMD] Неполноценный хак FIFA 96
« Ответ #63 : 27 Февраль 2024, 17:04:26 »
А вот и я.
Если бы я знал, что к ковырянию FIFA появится такой энтузиазм, давно бы выложил всё, что знаю и некоторым здесь не пришлось бы потеть. Никаким, кроме хекс редактора, я не пользовался, но изложенная инфа всё равно будет полезна для написания редактора команд, например, если это кому-то будет нужно.
По хорошему, всё это было бы неплохо закрепить в шапке, но мне неохота заморачиваться, уж извините.

Редактирование Команд

Команды начинаются по адресу 1314DA и занимают 38 байт каждая, сейчас я их разберу:

Первые 16 байт - это название команды. Тут всё долнжно быть понятно.

Следующие 3 байта (17, 18, 19) - цвета табличек. Если вы хотите сделать двухцветную табличку - 18 и 19 байт должны быть одинаковыми.
Список цветов табличек:

Следующие 4 байта отвечают за покрытие (Coverage) и менять их крайне не желательно
Первый - Defender
Второй и третий - Midfield
Четвёртый - Forward

У всех команд покрытие прописано одинаково, даже если в роме байты выглядят по другому. Если вы задались целью сделать свои команды настолько уникальными, чтобы отдельно прописывать покрытие - это ваша головная боль. Но если накосячили, стандартное покрытие - 28 12 57 25

Следующие 6 байт - цвета формы  и идут они в таком порядке:
1 - футболка (основная)
2 - футболка (гостевая)
3 - шорты (основная)
4 - шорты (гостевая)
5 - голкипер (основная)
6 - голкипер (гостевая)

В оригинале, чтобы у второй команды форма поменялась на гостевую, идут проверки по индексам 1 и 3,
если они совпадают - форма меняется.
Чтобы проверка шла только по 1, у меня в хаке было прописано 4E 71 по адресу 7BF80, чтобы было как в оригинале - нужно поменять обратно на 66 1С

Список цветов формы:

Однако, если вы пропишете 0D \ 0E \ 0F \ 10 - вам выдаст телесный цвет, а если 11 - то коричневый, и об этом чуть будет ниже:

Следующие 2 байта - это цвета кожи и волос.
Первый байт - кожа, где 00, 01, 02 - белая кожа, а 03 - чёрная, соответственно.
И если учесть написанное выше, то у меня есть подозрение, что через индексы форм можно читать палитру кожи и телесных палитр - три, а то и четыре.
Это если кто-то захочет добавить новые цвета форм или тип кожи - осталось только поискать саму палитру в роме, но я этим не занимался.
Второй байт - цвет волос, где:
00 - светлые волосы
01 - коричневые
02 - рыжие (нигде не используется)
03 - чёрные

И последние 6 байт - это рейтинги команд в перемешку с остальными свойствами. Идут они в таком порядке:
Shooting - только shooting занимает целый байт, остальные по половине байта
Running | Passing
Defense | Tackling
Goalies | Overall
дальше чуть запутанее:
Strategy | ???  первая половина байта - номер тактики у команды, вторая мне неизвестна, скорее всего не используется
Formation | Midfield первая половина отвечает за расстановку игроков
Attack | ??? еще одна пустая половина байта, но Sharpnull мне говорил это нужно для корректного чтения или вроде того (в конце всегда 0).

Теперь сами номера для рейтингов, тактик и прочего:

Большая простыня получилась, но надеюсь, что читабельно. Чуть позже я распишу остальное.

Добавлено позже:
Редактирование игроков

Следом за командами сразу же идут игроки, по адресу 133854, каждый размером 22 байта, их я тоже сейчас разберу:

Первый байт - инициал (имя), следующие 12 за ним - фамилия игрока. Всего 13 байт на имя, по аналогии с устройством команд.

А дальше уже интересно:
За что отвечает 14 байт? Никто не знает. Sharpnull для написания редактора целенаправленно искал и он не знает тоже.
15 байт - это амплуа и номер, но они читаются не совсем раздельно, а немного пересекаются.
Первая половина обозначает позицию, а именно:
0 - Goalkeeper
2 - Defender
4 - Midfield
6 - Forward

Вторая половина обозначает номер игрока, но дело в том, что номера игроков начинаются от 0 и заканчиваются 31, что  00 и 1F соответственно. Следовательно, первая половина байта влияет на номер тоже.
Таким образом, 40 - это полузащитник с 0 номером (да, есть нулевой номер), а 3F - это защитник с 31 номером потому, что 20 + 1F = 3F

Соответственно все возможные позиции с номерами:
00-1F - Goalkeeper
20-3F - Defender
40-5F - Midfield
60-7F - Forward

Но если прописать 80-9F, то у игрока будет позиция X - я не думаю, что это баг, скорее всего разрабы хотели добавить позицию вне амплуа. В игре она нигде не встречается и я не тестировал это.

16 байт, на первый взгляд тоже не отвечает ни за что, но как оказалось, он зачем-то дублирует номер игрока. Более того, у игроков американской лиги номера читаются с 16 байта, а не с 15. Я не знаю с чем это связано.

Все остальные байты, кроме последнего - скиллы игроков, занимающие половину байта каждый, вот они:

Skill | Speed
Agility | Reaction
Shot Acc | Passing
Aggress | Ball Ctl
Fitness | ???
- последнее значение всегда 0

Соответственно величиной от 0 до F каждый:

Однако, в игре можно увидеть, что помимо вышеприведённых 9 скиллов есть еще 5, но они являются производными от первых 9, и чтобы их не пришлось кому-то узнавать методом тыка, я их, пожалуй, тоже распишу:

Awareness = Passing + Ball Ctl
Accel = Speed + Reaction
Bicycles = Agility + Fitness
Headers = Aggress + Agility
Shot Pwr = Speed + Ball Ctl

Для примера, (Passing 95 + Ball Ctl 50) / 2 = Awareness 71 т.к. (F + 0) / 2 = 7

Последний байт всегда пустой - видимо тоже для корректного чтения, но здесь 2 нуля а не один, как у команд, а с предпоследним байтом даже 3.
На этом по внутренннему устройству игроков, пожалуй, всё. Дальше потом про составы и лиги напишу.
« Последнее редактирование: 27 Февраль 2024, 18:13:35 от Je$TeR »

Оффлайн Razuka

  • Пользователь
  • Сообщений: 90
    • Просмотр профиля
[SMD] Неполноценный хак FIFA 96
« Ответ #64 : 27 Февраль 2024, 18:32:04 »
Дальше потом про составы и лиги напишу.
Браво! Как все красиво и четко оформил  :thumbup:
Спасибо тебе огромное за такой подробный комментарий. Про составы и лиги обязательно будем ждать!

Добавлено позже:
Следующие 4 байта отвечают за покрытие (Coverage) и менять их крайне не желательно

А вот интересно все же, почему не рекомендуется менять Coverage?
Я тестировал этот момент, но так и не заметил каких либо изменений. Может коррекция этого аспекта введена чисто для визуального оформления?
В свое время разрабы могли его просто добавить для некоего "тактического" элемента игры, но так и не реализовали полноценный механизм использования в геймплее. :neznayu:

Оффлайн Razuka

  • Пользователь
  • Сообщений: 90
    • Просмотр профиля
[SMD] Неполноценный хак FIFA 96
« Ответ #65 : 27 Февраль 2024, 19:00:54 »
16 байт, на первый взгляд тоже не отвечает ни за что, но как оказалось, он зачем-то дублирует номер игрока. Более того, у игроков американской лиги номера читаются с 16 байта, а не с 15. Я не знаю с чем это связано.
Вполне может быть, что разрабы придумали 2 номера игрока в тех случаях, когда игрок помимо Клуба заявлен еще и в Сборной.
Но, видимо, до конца не смогли реализовать этот механизм.

В реальной жизни все так и есть: за статусными игроками закрепляется конкретный номер и в Клубе и в Сборной. Они могут как совпадать, так и различаться.
Но в плане игры - это лишь мое предположение.

Оффлайн Je$TeR

  • Пользователь
  • Сообщений: 39
    • Просмотр профиля
[SMD] Неполноценный хак FIFA 96
« Ответ #66 : 27 Февраль 2024, 19:47:32 »
Редактирование составов команд и лиг

Сразу же после списка игроков следом идут составы команд, по адресу 146ADE в таком формате записи:
XX 00 YY YY
Где XX - это номер команды, 00 всегда два нуля полсе него (опять для корректного чтения?) и YY YY - что есть номер игрока соответственно.

И первый же вопрос: как узнать какой номер у команды или игрока?
Все просто и сложно одновременно.
Просто потому, что у командов и игроков номера в том порядке, в котором они записаны в роме. Соответственно 00 - это 1860 Munchen, 01 - это A Mineiro, 02 - это AC Milan и т.д. Потому как где-то есть код, который начинает считывать команды по порядку начиная с 1314DA, то же самое с игроками.
А сложно все потому, что если нужно найти команду не 00, а 7B например, то придётся доставать калькулятор каждый раз, когда вам нужно будет найти команду или игрока.

А теперь сами вычисления:
Предположим, нам нужно найти состав сборной России
Первое, что нам нужно помнить - адрес начала блока с командами 1314DA
Второе - адрес команды внутри блока, в данном случае Russia - 132FDE
Третье, что нам нужно помнить - это количество байт у каждой команды, которое равно 38 байт, но поскольку все вычесления будут шестнадцатеричные, то 38 = 0x26

Итак, чтобы узнать какой ID у Russia нам нужно:
От адреса команды отнять адрес начала блока, и результат поделить на размер байт, а именно:
132FDE - 1314DA = 1B04
1B04 / 26 = B6

Переходим к 146ADE и спускаемся ниже пока не найдем B6, а именно 14985E и видим 16 игроков списком.
Но, допустим, я ошибся и B6 - это не Russia, тогда проверим что за игроки в составе у команды. И теперь я буду вычислять не ID по адресу, а адрес по ID и не у команды, а у игрока.

Для этого нам нужно, как и в случае с командами:
Первое - адрес начала блока с игроками 133854
Второе - ID игрока, которого хотим найти, в данном случае - 00 8A
Третье - количество байт у игроков в шестнадцатеричном значении, а именно 22 = 0х16

Теперь наш ID нужно не поделить а умножить на количество байт:
8A * 16 = BDC
Прибавляем результат к адресу начала блока с игроками:
BDC + 133854 = 134430 - адрес нашего игрока. Идем по этому адресу в роме и видим, что это A.Kanchelskis, который играет за сборную России.

То же самое работает в обратном направлении и для команд и для игроков.
Чтобы найти адрес команды по ID надо B6 * 26 = 1B04 + 1314DA = 132FDE
Для поиска ID игрока по адресу нужно соответственно 134430 - 133854 = BDC / 16 = 8A

Чуть позже про лиги напишу и про остальное

Добавлено позже:
Теперь что касается составов лиг

Сразу же после составов команд на 14A69E идут составы лиг
ID команд в лигах вычисляется точно так же, как я и расписывал выше, вычислять ID лиг не нужно и я не уверен, что они существуют как объекты, поскольку есть лиги без ID и есть не-совсем-лига с ID лиги

ID лиг (соответствуют порядку в игре)

В конце списка можно заменить кое-что интересное. 0С использует для трансферных игроков 2 невидимые команды Zrezerve и Zrezerve2 по 16 игроков каждая (32 игрока с именами разрабов - ничего особенного). В своем европейском хаке я их переделал и засунул в португальскую лигу ибо + 2 халявные команды. Но трансферы теперь забагованы, что не беда лично для меня.

А теперь стоит упомянуть всевозможные проблемы:
1. Поскольку размер ID для команд в 2 значения (несмотря на 2 нуля в конце), то следовательно, максимальное число команд в игре FF = 256, у игроков больше, но на то они и игроки.
2. С добавлением (а не переписыванием) в игре сейчас проблема, из 256 сейчас занято где-то 239 + как оказалось, 4 кастомные команды тоже занимают ID итого 243. Но даже эти 13 команд добавить не так просто, потому как нужно двигать блоки, указывать размеры блоков и чёрт еще знает чего. При этом, в FIFA 98 каким-то образом команд больше 256.
3. Как можно увидеть из всего написанного выше про вычисления, поиск\перетаскивание команд\игроков туда-сюда постоянно вынуждает заморачиваться с калькулятором.
4. Игроки не всегда привязаны только к одной команде, в некоторых случаях игроки играют за сборные, и соответственно, две команды могут использовать один и тот же ID. Можно начать переделывать команды и зацепить какую-то сборную, как это было с Сингапуром в моем случае.
5. Вы можете отвязать ненужного вам игрока от сборной в процессе и если вы его никак не пометили, вы можете забыть за него. Тем временем, он будет неиспользованным и занимать место в списке, а вы про него даже знать не будете.

Теперь по поводу разбора рома и всяких вспомогательных программ:
Возможность выставлять цвета футболок не залезая в хекс - это, наверное, замечательно, НО... Самая трудная трудность сейчас - это постоянные вычисления, и невозможность видеть кто к какой команде привязан. Кроме того, если кто-то додумается расширять ром и перетаскивать блоки, то программе нужно будет читать данные с других адресов. Что не сделает ее универсальной для всех хаков.
« Последнее редактирование: 27 Февраль 2024, 20:36:32 от Je$TeR »

Оффлайн Razuka

  • Пользователь
  • Сообщений: 90
    • Просмотр профиля
[SMD] Неполноценный хак FIFA 96
« Ответ #67 : 27 Февраль 2024, 21:39:59 »
Сразу же после составов команд на 14A69E идут составы лиг
Круто!  0_0
Действительно получилось по твоей инфе урезать Английскую лигу с 22 команд до текущих 20-ти.
Это же... при желании можно теперь сделать несколько разных ROM (фактически разные модули), в каждом из которых реализовать не только главные лиги, но и второстепенные.
Например, можно теперь хоть всю Английскую лигу сделать, включая низшие дивизионы (лишь бы только статистика по ним была и время на все это ремесло).

Столько информации собрал, не поленился. Респектище тебе за такой труд!

Оффлайн Je$TeR

  • Пользователь
  • Сообщений: 39
    • Просмотр профиля
[SMD] Неполноценный хак FIFA 96
« Ответ #68 : 27 Февраль 2024, 23:54:15 »
Цитата
А вот интересно все же, почему не рекомендуется менять Coverage?
Я тестировал этот момент, но так и не заметил каких либо изменений.
Я говорю про Coverage в коде команды. В игре он нужен, чтобы обозначать как далеко могут игроки от своих позиций забегать.
А касательно изменений в коде, трудно объяснять. Возьми да и введи рандомные цифры в Coverage сам увидишь, что будет.

Цитата
Это же... при желании можно теперь сделать несколько разных ROM (фактически разные модули), в каждом из которых реализовать не только главные лиги, но и второстепенные.
Да, не совсем ясно только, зачем это, если между командами из разных стран играть нельзя будет, а большинство команд - однозвёздочные. В оригинале есть лига чемпионов, все же.

Я еще забыл рассказать, как таблички у лиг менять, но один чёрт спрайты стран поменять не получается.

Оффлайн perfect_genius

  • Пользователь
  • Сообщений: 1176
    • ВКонтакте
    • Steam
    • Просмотр профиля
[SMD] Неполноценный хак FIFA 96
« Ответ #69 : 28 Февраль 2024, 01:33:57 »
спрайты стран поменять не получается
Это явно просто указатели. И с буквами G и D тоже. Так что попробую в Глитчер добавить перемешиватель указателей.

Je$TeR, что думаешь насчёт его пункта 3?
Цитата
Представь, что у G изменилось поведение на неизвестно какую из букв.
 Как скоро ты определишь, что за буква была выбрана? Только во время матча или можно как-то уже в начале? Узнаётся только по количеству пропущенных/пойманных мячей?

Думаю, что на глаз определить будет невозможно.
Я лишь могу с большой долей уверенности предположить, что бонус за защиту ворот имеет только буква G, а остальные 3 буквы обладают одинаковым "весом" (одинаковые значения, показатели) при парировании ударов противника.

Оффлайн Razuka

  • Пользователь
  • Сообщений: 90
    • Просмотр профиля
[SMD] Неполноценный хак FIFA 96
« Ответ #70 : 28 Февраль 2024, 02:13:58 »
Так в Практике есть эти режимы или нет?
Потестил, кстати, режим Практики спустя почти 30-ть лет после выхода игры  :lol:
Да, там есть нужные режимы:
 - Free Kicks (штрафные удары)
 - Throw Ins (вбрасывания)

В первом режиме можно выбрать любое местоположение мяча на поле и сразу же посмотреть, как будут выполняться разыгрывания мяча (главное, чтобы это делал AI-игрок).
И тут можно заметить, что часть из возможных вариантов исполнения штрафного откровенно "слабовата". Особенно печалит вариант с легким пиночком мячика от исполняющего вперед себя, т.е. даже не пас напарнику - а просто касание мяча... И нет, чтобы догнать мячик и ударить по нему сильнее, так исполняющий игрок отворачивается от мяча и бежит обратно в сторону своих ворот, а мячом обычно завладевает соперник.
Найти бы инструкции, отвечающие за логику данных моментов и выпилить самые слабые... Попробую на днях записать видео фрагмента для наглядности и если повезет, то сделать сэйв перед исполнением.

По режиму Вбрасывания минут 30 пытался зафиксировать момент зацикливания вбрасывания, но так и не смог его узреть. Возможно, что не повезло в данном случае. А может быть только в матче это проявляется. Еще потом проведу тесты.

P.S.
Интересный момент заметил! Голкипер противника, если его оставить в Практике без игроков поддержки, начинает более уверенно перемещаться по штрафной линии и даже иногда чуть-чуть выходит за ее пределы, играя ногами.
Т.е. он, как и в реальном мире, становится хозяином штрафной, активно защищая ворота не только на "пятачке", но бегая по всей штрафной. Заметно интереснее становится его поведение.
Если же он играет с защитниками, то резко ограничивает площадь своего перемещения, "привязывается" к линии перед воротами и полностью отдает инициативу своим защитникам.

Оффлайн Razuka

  • Пользователь
  • Сообщений: 90
    • Просмотр профиля
[SMD] Неполноценный хак FIFA 96
« Ответ #71 : 28 Февраль 2024, 02:23:54 »
По режиму Вбрасывания минут 30 пытался зафиксировать момент зацикливания вбрасывания, но так и не смог его узреть. Возможно, что не повезло в данном случае. А может быть только в матче это проявляется. Еще потом проведу тесты.

Слушайте, а ведь есть же у меня сэйв, который я ранее когда-то уже делал и на всякий случай оставил его.
Как раз видно там, что игрок вбрасывает мяч ровно по разделительной линии и потом уже происходит следующая попытка вброса.
Тут то еще не так все плохо, со второй попытки у него все получилось, а иногда и раз по 5 к ряду может зарядить с одним и тем же направлением вбрасывания на линию.

Видео
« Последнее редактирование: 28 Февраль 2024, 02:31:02 от Razuka »

Оффлайн Vurzum

  • Пользователь
  • Сообщений: 55
  • Пол: Мужской
    • Просмотр профиля
[SMD] Неполноценный хак FIFA 96
« Ответ #72 : 28 Февраль 2024, 08:31:21 »
Потестил, кстати, режим Практики спустя почти 30-ть лет после выхода игры  :lol:



Ну ты даешь! Я во времена физической консоли изрядно наигрался в практику. Было залипательно бить с подкруткой с разнообразных точек, и потом покадрово пересматривать, как мяч процарапывает дальнюю крестовину. Что уж говорить, как в Практике вдвоем можно было побалываться.

Оффлайн Je$TeR

  • Пользователь
  • Сообщений: 39
    • Просмотр профиля
[SMD] Неполноценный хак FIFA 96
« Ответ #73 : 28 Февраль 2024, 16:23:11 »
Это явно просто указатели. И с буквами G и D тоже. Так что попробую в Глитчер добавить перемешиватель указателей.
Я не знаю о каких указателях речь, но вся графика стран в роме запакована и не редактируется.
Je$TeR, что думаешь насчёт его пункта 3?
Я думаю, что он заморачивается совсем не тем, чем стоило бы. Для изменения поведения ИИ усилий нужно много, а результат незначительный. Да и не замечал я разницу в поведении вратаря от всех остальных, думаю, это очередное "мародер едет быстрее дерт девила в RRR".

Оффлайн Razuka

  • Пользователь
  • Сообщений: 90
    • Просмотр профиля
[SMD] Неполноценный хак FIFA 96
« Ответ #74 : 29 Февраль 2024, 00:33:20 »
Я думаю, что он заморачивается совсем не тем, чем стоило бы. Для изменения поведения ИИ усилий нужно много, а результат незначительный. Да и не замечал я разницу в поведении вратаря от всех остальных

И все же разница заметна.
Например, такие голевые комбинации (как на видео) в базовой игре без редактирования параметров голкипера крайне редки. Там вратари ловят 99% подобных мячей.
В моей версии получается более реалистично. Я это делаю прежде всего для симуляции футбольного менеджера, когда живой игрок выступает только за тренера и скаута. :neznayu:

Оффлайн Vurzum

  • Пользователь
  • Сообщений: 55
  • Пол: Мужской
    • Просмотр профиля
[SMD] Неполноценный хак FIFA 96
« Ответ #75 : 29 Февраль 2024, 12:51:05 »
С помощью Глитчера всего за 30 попыток изменил направление мяча в сохранении. Теперь тебе надо проверить, остался ли этот баг в игре.
Увы, остался

Оффлайн perfect_genius

  • Пользователь
  • Сообщений: 1176
    • ВКонтакте
    • Steam
    • Просмотр профиля
[SMD] Неполноценный хак FIFA 96
« Ответ #76 : 29 Февраль 2024, 13:37:25 »
Он проявляется только в каком-то режиме? Погонял сам и куда кинет зависит от расположения управляемым игроком игрока.
Значит будем ломать, пока баг не пропадёт :)
Жду новое сохранение уже из этого подправленного рома или же объясните куда заходить, чтобы этот баг воспроизвести. Сохранение перед багом было без прямого управления - это что за режим?

Оффлайн Razuka

  • Пользователь
  • Сообщений: 90
    • Просмотр профиля
[SMD] Неполноценный хак FIFA 96
« Ответ #77 : 29 Февраль 2024, 15:05:07 »
Жду новое сохранение уже из этого подправленного рома или же объясните куда заходить, чтобы этот баг воспроизвести. Сохранение перед багом было без прямого управления - это что за режим?

perfect_genius, спасибо тебе за то, что помогаешь в этом вопросе! Дай Бог тебе здоровья! :drinks:
В ближайший день-два погоняю твое сохранение и обязательно отпишусь. Хотя, если Vurzum уже отписался, то, вероятно, нужно будет ловить новый сэйв.

Да, сохранение было без прямого управления игроком.
Этот режим можно установить во вкладке "Controllers". Нужно установить геймпад (-ы) по центру между названиями команд. В данном случае игроки на поле управляются только компьютером.

Добавлено позже:
С помощью Глитчера всего за 30 попыток изменил направление мяча в сохранении.

Я уверен, что твоя программа поможет нам в будущем и в других аспектах тоже.
Надо мне ее обязательно освоить. Надеюсь, что смогу на этой неделе потестировать ее более корректно, чем в прошлый раз.
Время порой очень не хватает в жизни на всё, но ничего... прорвемся.

Оффлайн perfect_genius

  • Пользователь
  • Сообщений: 1176
    • ВКонтакте
    • Steam
    • Просмотр профиля
[SMD] Неполноценный хак FIFA 96
« Ответ #78 : 29 Февраль 2024, 16:14:03 »
Стало понятнее. Компьютер явно бросает мяч "невидимке", нулевому игроку.
Одно сохранение уже есть, вам надо бы сделать ещё одно. Я сейчас сделал и действительно баг не пропал. На этих трёх и буду проверять.
А пока сегодня попробую хакнуть по первому сохранению ещё несколько раз.

Оффлайн Je$TeR

  • Пользователь
  • Сообщений: 39
    • Просмотр профиля
[SMD] Неполноценный хак FIFA 96
« Ответ #79 : 29 Февраль 2024, 17:39:22 »
Например, такие голевые комбинации (как на видео) в базовой игре без редактирования параметров голкипера крайне редки. Там вратари ловят 99% подобных мячей.
Я такие 99% мячей забиваю, с этой же позиции. В твоей версии вратарь будет совсем дырявым.

Я это делаю прежде всего для симуляции футбольного менеджера, когда живой игрок выступает только за тренера и скаута.
Главная прелесь FIFA в том, что там можно играть вчетвером за одну команду, а не смотреть, как игра играет сама с собой. Лучше народ собрать и чемпионат какой нибудь пройти.

З.Ы. теперь понятно, почему у тебя "травмы не работают", бот в игре травмы не получает.

Оффлайн Vurzum

  • Пользователь
  • Сообщений: 55
  • Пол: Мужской
    • Просмотр профиля
[SMD] Неполноценный хак FIFA 96
« Ответ #80 : 29 Февраль 2024, 17:52:04 »
Вот, словил

Оффлайн Razuka

  • Пользователь
  • Сообщений: 90
    • Просмотр профиля
[SMD] Неполноценный хак FIFA 96
« Ответ #81 : 29 Февраль 2024, 17:55:25 »
В твоей версии вратарь будет совсем дырявым.
Я всегда подчеркивал, что мне эта игра интересна только с точки зрения футбольного менеджера.
В этом контексте, если вратаря не ослабить, то голов почти не будет. Поэтому, я использую редактор для уменьшения хар-к голкипера и замены его буквы.

С точки зрения интереса, у всех могут быть разные предпочтения и они необязательно должны совпадать. :cool:

Добавлено позже:
З.Ы. теперь понятно, почему у тебя "травмы не работают", бот в игре травмы не получает.
Тоже думал об этом. Однако, в последующих играх серии (97, 98) боты охотно травмируются. :neznayu:

Оффлайн Razuka

  • Пользователь
  • Сообщений: 90
    • Просмотр профиля
[SMD] Неполноценный хак FIFA 96
« Ответ #82 : 29 Февраль 2024, 18:04:20 »
Вот, словил
Vurzum, не могу воспроизвести твой сэйв :(
"is not in GSX format"

Оффлайн Марат

  • Пользователь
  • Сообщений: 556
  • Пол: Мужской
    • Просмотр профиля
[SMD] Неполноценный хак FIFA 96
« Ответ #83 : 29 Февраль 2024, 18:05:54 »
Главная прелесь FIFA в том, что там можно играть вчетвером за одну команду, а не смотреть, как игра играет сама с собой. Лучше народ собрать и чемпионат какой нибудь пройти.
Помню раньше проходил чемпионат в Pro Moves Soccer, и там можно было смотреть игры твоих соперников. И чтобы получить более справедливый счёт, я смотрел их игры. Да и в целом нравилось наблюдать как играет компьютер.

Оффлайн Vurzum

  • Пользователь
  • Сообщений: 55
  • Пол: Мужской
    • Просмотр профиля
[SMD] Неполноценный хак FIFA 96
« Ответ #84 : 29 Февраль 2024, 18:06:32 »
если вратаря не ослабить, то голов почти не будет.
Либо разнообразить удары. Боты, как минимум, вообще не используют подкрутку, не прорываются в штрафную, у них по по факту одна единственная комбинация - "фланговое волочение"


Добавлено позже:
Vurzum, не могу воспроизвести твой сэйв :(
"is not in GSX format"
:neznayu:
Я на смарте пользуюсь этим эмулятором https://play.google.com/store/apps/details?id=com.explusalpha.MdEmu

Оффлайн Razuka

  • Пользователь
  • Сообщений: 90
    • Просмотр профиля
[SMD] Неполноценный хак FIFA 96
« Ответ #85 : 29 Февраль 2024, 18:12:10 »
И чтобы получить более справедливый счёт, я смотрел их игры.
Привет, Марат!
Согласен!  :)
Автоматический результат игры, как правило, отличается от того, что показывают команды при просмотре матча. А это - важный момент, если устраивать свой собственный полноценный чемпионат.

Добавлено позже:
Я на смарте пользуюсь этим эмулятором
Наверное, несовместимость версий.
Ну, ничего страшного. Отловим момент, зафиксируем на ПК-эмуляторе.

Оффлайн Je$TeR

  • Пользователь
  • Сообщений: 39
    • Просмотр профиля
[SMD] Неполноценный хак FIFA 96
« Ответ #86 : 29 Февраль 2024, 18:22:42 »
В этом контексте, если вратаря не ослабить, то голов почти не будет.
В 45 минутном матче боты себе делают счет 5-5, не понимаю о чем ты. Возможно ты 4-минутные матчи смотришь.

Однако, в последующих играх серии (97, 98) боты охотно травмируются.
Если бот не умеет делать замены, то для него это только хуже. Да, боту может вручную сделать замену игрок, но расчет был явно не на это.

Оффлайн Razuka

  • Пользователь
  • Сообщений: 90
    • Просмотр профиля
[SMD] Неполноценный хак FIFA 96
« Ответ #87 : 29 Февраль 2024, 18:59:29 »
В 45 минутном матче боты себе делают счет 5-5
45 минут - это слишком долго.
У меня тайм = 6 минут. Матч = 12 минут.

Добавлено позже:
бот не умеет делать замены
Да, бот не умеет делать замены - поэтому ему нужно в этом помогать.
Ручками выбрать заменяемого игрока в составе и подтвердить замену  :cop:

Оффлайн Rexi

  • Пользователь
  • Сообщений: 13
  • Пол: Мужской
    • Youtube
    • Просмотр профиля
[SMD] Неполноценный хак FIFA 96
« Ответ #88 : 29 Февраль 2024, 21:01:24 »
Так, так! Это уже хороший вектор!
Надо будет мне на досуге попробовать тоже поискать эти моменты по твоей наводке.
Vurzum, ты просто молодец! Столько полезной информации приносишь  :hi:
Интересный момент! Надо порыться. А как быть с таким: создание лиги 4,8,16,24 команды, а можно как-то это отладить к примеру сделать 5,6,12,18,20 команд в лиге? Где это можно найти? Я тут 1-ю лигу создал хотел  18 команд а она только либо 16 либо 24...

Оффлайн Je$TeR

  • Пользователь
  • Сообщений: 39
    • Просмотр профиля
[SMD] Неполноценный хак FIFA 96
« Ответ #89 : 29 Февраль 2024, 22:13:00 »
45 минут - это слишком долго.
У меня тайм = 6 минут. Матч = 12 минут.
ну ты же претендовал на реализм  :lol:, а в реальности матчи по 6 минут никто не играет.

upd: похоже Coverage в игре действительно не работает. Ставил все на минимум, игроки бегают где хотят.