Чат по игре
  • Страница 1 из 1
  • 1
Модератор форума: Evo4ka, SARUMAN  
Как играть на серверах со своим модом. (Портативный Метод)
xuilapannapanДата: Четверг, 2023-01-12, 22:33 | Сообщение # 1
avatar
Кентавр
Оффлайн
Сообщений: 22
Репутация: 0
Замечаний нет
*Админов попрошу перенести эту тему в раздел Модостроение, так как этот топик касается непосредственно модов и модифицирования в их использовании"

Вступление + в Целом:


Здаров, этот гайд не будет сильно отличаться от остальных, тот же добрый Чеат Энгуне, та же игра и история и Очень интересная на этот раз тема по моему мнению. "Переноска мода из главной игры на сервера" ну, или просто чтоб не слетал. Тем кто имел дело с модами я думаю как-никак известно что невозможно зайти на чужие сервера из за разницы в названиях карт у хоста и джойнера, на свой серв тоже никто не сможет зайти по той же причине, да и слетает основная часть мода уже на второй запуск после выхода в главное меню, могут остаться моменты как: маленькая часть измененного UI и некоторые изменённые скиллы которые не будут работать корректно. Значит, наша задача это в итоге иметь: сохранённый функционал мода и дефолтное название карты. Раньше это проворачивали через расширение мода bounce, но сейчас это не работает. Многие новички пытаются делать это через измену названия карты мода, привлекает это ещё тем что в разделе "Своя Игра" (меню откуда мы запускаем моды) можно запустить сервер да ещё и с PvP, так что многие делают название карты Titan Quest (стандартное расширение карты) и пытаются зайти, либо захостить сервер, в итоге, это не работает, у всех будет показывать что это INVALID сервер, а нам нужно чтоб он был OK.
Чтоб добиться этого нам нужен скрипт который будет работать по этому сценарию: Дать конкретному оффсету функции InitializeMod значение 00 потому что она по дефолту заморожена на 01 и только в случае загрузки мода она работает по другому, расписанному сценарию, короче говоря нам нужно силой сначала заморозить это значение на 00, потом запустить мод, и вернуть снова на 01 на выключении. Мы получаем результат: вместо изначальной единички в функции которая отвечала за то что говорила игре что выбрана стандартная карта и всё нормально - мы сказали игре что стандартная карта ещё не выбрана (значение 00 говорит об этом), потом мы запустили мир (мод) который хотели чтоб был вместо стандартной карты и выключением скрипта сказали игре: "Всё! дефолтная карта выбрана!". После этого нужно один раз пойти прогрузиться в главной игре и потом можем идти куда хотим, присоетиниться к серверу или запустить свой, всё будет OK кроме других INVALID серверов с другим названием карты (зайти на подобные сервера очень легко, и даже без мода, но записывать по этому поводу я не вижу смысла так как после того как вы прогрузитесь на сервер который требует наличие мода без него - вы прогрузитесь дефолтным персом первого уровня и сломаете перса).
В начале записанного ролика сначало показанно как игра реагирует когда с дефолт значением 1 + модом игра реагирует на присоединение, продемонстрированно и то что мод слетает уже на второй прогруз в главную игру, этот метод портабилен ещё тем что карта которую мы назначили главной, будет такой до конца сессии, и можно даже после одного мода загружать второй повторя ту же процедуру (елси они не сильно разнятся в UI), но это не стакается, типо будет активен только последний мод который вы подцепите. Когда вы хост отображаться у других будут и ваши кастомные (изменённые) петы (петомцы), будут также видны текстурки заспавненные через скиллы и т.д. Так же будут активны кастомные квесты, скиллы будут лучше работать, будет карта непосредственно из мода и т.д. Короче, эта инфа с добавлением к тому что уже есть на форуме позволит вам лучше понять и осознать как вещи работают в этой игре.

Сделать переноску мода можно ещё другим способом, впелением его особенностей в главный датабейз, но это уже получается не переноска а инжект. Как сделать это уже расписанно в созданной теме в Steam. Делается это через ArtManager. Можете поискать топик в стиме.

______________________________________________________________________________________________________________________________

______________________________________________________________________________________________________________________________

______________________________________________________________________________________________________________________________

______________________________________________________________________________________________________________________________

Описание действий:

1.  Инжектим Чеат Энгунэ к Бессмертному Стулу и жмем Memory View, после того как открылось окно эссемблера жмякаем View > Referenced Functions.

2.  Ждем несколько секунд и нажимаем Ctrl + F, в появившемся окне пишем InitializeMod и жмём Find. Нас перекидывает к функции к которой мы собственно хотели прийти.*Кликаем дважды на неё*

3.  Нас перекидывает к адрессу функций на которую мы нажмякали,  сейчас мы жмём Search > Find Assembly Code.

4.  В открывшейся окошке мы пишем код: mov byte ptr [edi+00000938],01 > Scan.

5.  Сразу находит один адресс с подобным кодом, *жмём дважды на него*.

6.  Строчка кода автоматически выбрана, нам надо просто нажать Tools > Auto Assemble, либо альтернативу (шорткатCtrl + A.

7.  В открывшейся окошке мы делаем следующие вещи, сверху нажимаем: 1. Template > Cheat Table framework code. 2. Code injection.

8.  Появился скрипт (оригинальный, просто в другом виде), тута мы посто напросто снизу "Originalcode" изменяем значение с 01 на 00 (причину я написал в первом абзаце).

9. Осталось просто добавить этот скрипт к себе в таблицу, всего 2 клика, File > Assign to current cheat table. Всё, можем закрывать почти все окошки, кроме самого чит энджина.

10. ГЛАВНОЕ, не забудьте сохранить созданную таблицу лол :D. Жмём сверху File > Save или Save As и сохраняем куда и под каким названием хотим.

11. Как использовать я написал в первом абзаце meowth
______________________________________________________________________________________________________________________________

Всем хорошим людям удачи, а всем нехорошим - желаю исправления.


Hard work and luck always do make it.

Сообщение отредактировал xuilapannapan - Пятница, 2023-01-13, 12:26
 
JackДата: Среда, 2023-01-18, 18:07 | Сообщение # 2
avatar
*Владыка мира*
Оффлайн
Сообщений: 1736
Репутация: 2305
Замечаний нет
[info]Если хотите чтобы тема осталась, то оформите, чтобы не было вырвиглазного цвета текста. Если хотите на чем-то акцентировать, то используйте просто жирный шрифт[/info]

Ακαμάτης νέος, γέρος διακονιάρης.
 
  • Страница 1 из 1
  • 1
Поиск: