Patcher / Патчер .txt файлов

iCevbyt

Orc
Messages
48
Reaction score
90
Ты хотел бы чуточку изменить популярный мод? Или у тебя уже скопилась целая пачка разных дополнений для сокланов, которую каждый раз надо править руками после обновления игры? Или ты не готов обождать даже пару дней, прежде чем патч на форуме обновят?

Возможно, тебе подойдет эта утилита.

1781457782606.png

Скачать: https://github.com/ta6aku/l2-patcher/releases


Как работает:
1. Смотрит, какие txt файлы ты модифицируешь, и делает бекап на всякий случай
2. Берет свежий файл из папки с игрой и кладет его в папку orig (читай - обновляет оригинальные файлы)(почему лоунчер этого не делает?).
3. Раскодирует. Модифицирует. Кодирует обратно. И обновляет файл в патче.
Вот и все, можно ставить галку в лоунчере и играть с обновленным патчом!

Утилита написана на AHKv2. Чтобы работала, нужно будет его сперва установить себе. Отсюда

К слову, под AHKv2 на форуме есть еще вот такие полезные доработки - Багфик и АвтоСС и Доп Панель



Пошаговый пример использования 1.
Кто-то тут на форуме высказывался, что Arthro выглядят посолиднее Bellion-ов и неплохо бы их поменять местами. Отзывчивые люди нашлись, и подогнали новый файлик weapongrp.txt, вот только после очередного багфикса текстур С3 или обновления файлов самого клиента, эти изменения слетели, и снова когти стали не оч.
Утилита позволит обновлять мод на С3 текстуры.

Итак.
1. Скачали и распаковали архив (в этом примере - куда угодно распаковали, в любую папку).
2. Создали txt файл с таким содержимым и положили его в папку resources под именем changes_имяоригинальногофайла.txt (в нашем случае changes_weapongrp.txt).

object_id=267 object_name=[arthro_nail] mesh={[LineageWeap_C3.bellion_cestus_m00_wp];[LineageWeap_C3.bellion_cestus_m00_wp]} texture={[LineageWeaponsTex_C3.bellion_cestus_t00_wp];[LineageWeaponsTex_C3.bellion_cestus_t00_wp]}
object_id=268 object_name=[bellion_cestus] mesh={[LineageWeap_C3.arthro_nail_m00_wp];[LineageWeap_C3.arthro_nail_m00_wp]} texture={[LineageWeaponsTex_C3.arthro_nail_t00_wp];[LineageWeaponsTex_C3.arthro_nail_t00_wp]}

*в этом примере поменяется только внешний вид когтей, надетых на персонажа. иконка останется прежней, на земле тоже будут отображаться по-старому. как было.
Утилита найдет объект 267 (Артро-когти) и пропишет, что каркас у них должен быть от Беллиона и текстуры от Беллиона.
найдет 268 объект и пропишет туда каркас и текстуры от Артро

3. Запустили программу и перетащили на нее файл weapongrp.txt из патча C3_Textures. Пропатчили. Если статус "готово", то кладем полученный файл (он в папке results) в патч С3 и в лоунчере переприменяем патч.

Готово!


Пошаговый пример использования 2.
Обновился клиент игры. Добавили новый щит (наконец-то!). Но из-за использования С3 текстур или С3 иконок или Модифицированного чата не видно лица, или черная иконка в инвентаре или сообщение-ошибка в систем чате... в общем ошибки, а обновление на форуме чето не спешат выкладывать, надо самим...

Итак.
1. Папку scripts из архива кладем в наш патч (можно в сборку патчей, если все в 1 месте) рядом с папками files и orig.
2. Запускаем лоунчер и делаем Full Check. Чтобы файлы игры стали оригинальными и актуальными. Никаких галочек на этом шаге в лоунчере не ставим!
3. Запускаем утилиту - она сама нашла список файлов, с которыми умеет работать, и отображает их. Патчим. Готово!
4. Возвращаемся в лоунчер и вот сейчас уже применяем патчи.

PS Важное замечание.
На самом деле бездумное применение после большого апдейта может привести к конфликту данных - в клиенте обновится что-то, что патчом не стоило бы трогать... условно какой-нить брес 100% станет 50%, но в патче на иконки, чтобы название бреса влезало в поле его имя изменено на "100% Blessed Scroll of Resurection"... и окажется, что в реальности брес нахрен никому не нужен, его действие поменялось, но из-за того, что вы используете патч на иконки, у вас он все еще называется 100%, и вы думаете, что он стоит денег и что восстановит вам опыт, а нет
PPS дурацкий пример, канеш, получился,.. но что-то ничего более хорошего в голову не приходит сходу. Просто надо понимать, что после обновлений игры надо все же смотреть, что именно там обновилось, так что ручной анализ глазками отменить совсем уж не получится


А можно примеры 1 и 2 объединить?
Можно. Положите файл со своими точечными изменениями (в нашем примере 2 строчки) не в папку resources, а в папку resources/step2. Утилита сперва применит изменения из основной папки, а потом поверх еще и изменения из step2(3,4..)

А какой формат изменений?
Формат ровно такой же, как у раскодированного файла игры
ключ id основной, потом через табуляцию указываете блоки данных, которые надо вписать ровно с теми же ключами и такими же скобками, как в оригинальном файле. утилита ищет строку с этим id, потом в этой строке ищет по ключам данные.

А где скачать уже готовые файлы-изменения?
В архиве уже есть подборка для патчей C3_Texture, С3_Icons, Systemchat от Mori и от Tabaku, звуки от b0njourEPTA.
Эротическое белье - здесь
Когти из 1 примера - здесь
Замена анимации, чтобы новые двуручные топоры grasper перестали быть копьями - здесь

А если все равно ничего не понятно..?
Утилита в первую очередь для тех, кто делает хоть какие-то моды. Если заинтересовало, то можно глянуть тут
 
Last edited:
Огонь! 🔥
Сам хотел сделать, буквально позавчера тыкал палкой @Ritsu, чтобы навайбкодил такую программку, а ты тут как тут)
Если будут силы доработать - было бы круто, если бы она работала опираясь на массив grp-файлов, а не на вручную указанный diff. А в случае конфликтов ругалась, что несовместимы файлы (что-то типа мини git merge)
 
Основная цель создания утилиты как раз была в том, чтобы уйти в патчах от готовых grp файлов и оперировать только diff-ами.

Что же касается функционала подсветить конфликт мерджа (когда в обновлении меняется ровно тот же параметр, что и в патче), то такая мысль была... но все равно в этом случае надо принимать решение либо о переделке патча, либо не считать это проблемой,.. функционал безусловно полезный, но дойдут ли руки - не уверен...
 
Back
Top