Это скрипт для упрощения сборки модификаций на Brawl Stars, а также для более простого и выборочного редактирования мода. Особенно полезен в крупных модах
@CrowTheBest
[Telegram] https://t.me/CrowTheBest
[VK] https://vk.com/CrowTheBest
[Discord] https://discord.gg/CrowTheBest
Цена: 228р
- Скачайте скрипт и запустите
main.py
, который создаст нужные папки и скачает нужные библиотеки - Добавьте все чистые csv файлы в папку
Files
Чистые csv файлы это все файлы из папок csv_client, csv_logic и localization из новейшей версии Brawl Stars
Это нужно делать после каждого обновления игры! - Затем в папке
mods
создайте папку с названием вашего мода (их может быть сколько угодно), запуститеmain.py
ещё раз и выберите ваш мод. Скрипт создаст нужные папки в нём - Создайте блоки в вашем моде или же добавьте нужные строчки из csv файлов в ваш мод
- Запустите
main.py
и выберите ваш мод. Скрипт соберёт его и в папкеmods/ваш мод/Result/
будут все измененные файлы, которые можно будет просто заменить в APK или добавить в папку update!
Блок - это zip файл, где лежат какие-то файлы, которые вы добавляете в мод. Название блока может быть любым. Блоки
должны находиться в папке мода рядом с остальными папками.
Например, файловая структура блока может быть такой:
CrowBlock.zip
├──csv_client
│ ├──animations.csv
│ └──sounds.csv
├──csv_logic
│ └──skin_confs.csv
├──localiaztion
│ ├──ru.csv
│ └──texts.csv
├──sc3d
│ ├──crow_custom_idle.glb
│ └──crow_geo.glb
└──sfx
├──crow_custom_sound1.ogg
├──crow_custom_sound2.ogg
├──crow_custom_sound3.ogg
└──crow_custom_sound4.ogg
Здесь изменена модель Кроу, одна его анимация, несколько звуков, а также они прописаны в csv. Возможно, что-то изменено в ru.csv. Структура блока может быть абсолютно любой и содержать любые файлы, которые вам нужны
В csv файле, лежащем в блоке, должны быть только те столбцы и строки, которые должны замениться. То есть вы не
должны оставлять весь csv файл или всю строчку частично или полностью неизмененной, только если это действительно
не требуется в вашем моде.
Если вы оставите что-то в строке/столбце неизмененным, то это может повлиять на какие-то патчи со стороны Supercell
Например, вы хотите изменить что-то в параметрах анимации персонажа. В обычном animations.csv файлике строчка с анимацией ходьбы выглядит так:
Name | FileName | StartFrame | EndFrame | FaceFreeze | Speed | TransitionMs | ... |
---|---|---|---|---|---|---|---|
CrowWalk |
crow_walk.glb |
1 |
19 |
100 |
.. |
Скорость анимации в столбике Speed. Чтобы изменить только его, нужно оставить только этот столбик и его заголовок. Увеличим скорость вдвое, тогда итоговый csv файл будет выглядеть так:
Name | Speed |
---|---|
CrowWalk |
200 |
Да, все настолько просто!
Добавим к этому файлу еще кастомную анимацию бездействия: crow_custom_idle.glb
Name | FileName | StartFrame | EndFrame | Speed | TransitionMs | ... |
---|---|---|---|---|---|---|
CrowWalk |
200 | .. |
||||
CrowIdle |
crow_custom_idle.glb |
1 |
37 |
.. |
Отлично! Но оказывается, что анимация ходьбы тоже была затронута. Пустая клеточка также заменяет параметр, как и
любая другая с текстом. Если оставить всё, как в примере выше, то при
попытке выбрать Кроу игра крашнется, потому что FileName
окажется пустым. Чтобы это предотвратить, нужно
поставить символ решётки (#) в клеточки, которые мы не используем. Тогда скрипт поймёт, что их не нужно менять и
оставит их такими, какие они есть в чистом csv файле
Name | FileName | StartFrame | EndFrame | Speed | TransitionMs | ... |
---|---|---|---|---|---|---|
CrowWalk |
# |
# |
# |
200 | # |
.. |
CrowIdle |
crow_custom_idle.glb |
1 |
37 |
.. |
Готово!
Теперь animations.csv файл будет правильно обрабатываться скриптом.
C помощью этой фичи очень удобно изменять любые игровые эффекты, а также другие крупные csv файлы! (effects.csv, particle_emmiters.csv...)
Бывает ситуация, когда в блоках могут быть несколько файлов с одинаковым названием. В таком случае скрипт
предупредит об этом и вынесет эти блоки в папку Conflict
, где вы можете решить какой из блоков вы хотите оставить.
Чтобы предотвратить такое, в скрипте есть система приоритетов блоков. Чтобы добавить приоритет блоку, напишите
решетку (#) в конце его названия.
Например: CrowBlock#.zip
Таким образом, если в этом блоке и в каком-то другом будут два одинаковых файла, то скрипт выберет тот, у которого
больше решёток. Если будет одинаковое количество решёток у конфликтующих блоков, то скрипт также вас об этом
предупредит.
Здесь подробно описаны папки, которые создаёт скрипт и как их использовать
В эту папку записывается собранный мод, который спокойно можно добавить в apk или положить в папку update
Это аналог папки чистых csv файлов, как в корне скрипта. Например, у вас уже есть готовые csv файлы, которые вы уже можете использовать в вашем моде (то есть они полные), такие, как результат работы Skin Changer'a, то их можно положить в эту папку и скрипт будет использовать их вместо чистых.
Это "быстрая" папка, чтобы быстро протестировать какой-нибудь csv ввиде файла для блока. То есть вы можете выборочно изменить какой-нибудь конкретный элемент в любом csv файле, не затрагивая полностью весь файл. Обычно используется для проверки какого-нибудь значения в игре и не используется как папка с кусочками блоков (отдельными "ничейными" csv)
- Имеет приоритет над блоками (файлы из неё ставятся поверх всех файлов из блоков)
- Игнорирует любые другие файлы
Эти папки вы можете создать сами. Структура в папке с модом такая же, как в assets
.
Файлы в них ставятся первыми.
Пока не поддерживаются вложенные папки, такие как sc3d/shaders!
- Скрипт умеет работать со сжатыми csv
- Скрипт проверяет наличие нужных csv и предупредит, если они отсутствуют
- Скрипт выносит конфликтующие файлы (все, кроме csv) в отдельную папку
Conflict
, где вы можете решить, какой из блоков вам предпочтительнее - Подходит для любых приваток