Тутор по джсону для модов нуля бравла
@DenysDt & @sakupen_pppppИтак, это наверное подробный тутор по тому, как научиться писать моды на джсоне(пока только на нем).
Давайте приступим.
Если вы видите эту телеграфу, то уже явно видели тему: "Signing request", туда вы в будущем будете кидать свои "модики" на подпись, но сейчас не об этом...
В этой теме вы может быть наблюдали файлы с расширением .json и нажимая на него, хотели посмотреть что там и видели это:

Ну или что-то подобное, так вот именно так и пишутся модики для нуля.
Тут мы с DenysDt постараемся объяснить как это все писать и к чему лучше сначала прибегнуть.
Для того, чтобы вообще начать с чего-то, то лично от себя(Вади) советую вам покопаться в ассетах нуля, чтобы понять как устроены файлы .csv, и для начала сделать хоть что-нибудь, дабы понять как все устроено.
Ну и теперь приступим к самому json'у и разберем один скриншот:

Для удобства каждый шаг мы будем писать постепенно что б разобрать как правильно написать код
Смотрим на первую строку и видим что начало положено с "{" писать эту скобку нужно всегда как только вы начинаете писать json для мода.
{
Нажимаем "Enter", и следующим наблюдаем - "ru"
Это название нашего файла csv. Именно .csv писать не нужно, просто достаточно того, что написано перед ним, и писать нужно обязательно в кавычках.
{
"ru"
После кавычек мы пишем: ": {" и нажимаем "Enter". Если вы пишите с какого-нибудь редактора кода, то выбрав синтаксис JSON, у вас автоматически отступится место для следующей строки.
{
"ru": {
Дальше мы видим: "TID_TITLE_MASTERY_GRAY", это самый первый столбец в csv файле:

В каждом csv они свои, в скрине ниже это "PiggyLevel0", в скрине еще ниже это "TitleMasteryJessie" и всё что находится под ним.


Всё так же закрывается в кавычки и пишется ": {", а после нажимаем "Enter"
{
"ru": {
"TID_TITLE_MASTERY_GRAY": {
Следующая строка в нашем файле json это:
"RU": "Я люблю Грея"
"RU" - это уже столбец, как и со строкой, у каждого csv файла свои столбцы, например у color_gradients это: "Colors", "Speed", "Scale". "Name" так же является столбцом но его менять крайне нежелательно

И вот именно под этими столбцами, на нужной вам строке пишется то, что вам нужно в jsone, покажу еще раз:
"RU": "Я люблю Грея"
{
"ru": {
"TID_TITLE_MASTERY_GRAY": {
"RU": "Я люблю Грея"
После нажимаем "Enter" и ставим 3 вот таких скобки: "}"(каждая на линии ближе к началу кода).
Первая закрывает строку, вторая закрывает скобку после названия файла и третья самую первую скобку(ВАЖНО, последняя закрывающая скобка так же означает конец кода, писать после неё строго запрещено).
{
"ru": {
"TID_TITLE_MASTERY_GRAY": {
"RU": "Я люблю Грея"
}
}
}
А что если я хочу изменить ещё одну строку, мне снова писать всё с начала?
Если вы хотите добавить новую строку (например изменить титул Лили на "Я люблю Лили") то стоит только проделать всё тоже самое но начиная с шага когда мы объясняли как определить строку.
Если непонятно то вот пример для наглядности:
{
"ru": {
"TID_TITLE_MASTERY_GRAY": {
"RU": "Я люблю Грея"
},
"TID_TITLE_MASTERY_LILY": {
ОЧЕНЬ ВАЖНО, если вы хотите продолжить писать код то при открывании новых скобочек не забудьте поставить запятую после прошлых закрытых скобочек.

Дальше всё гораздо проще, вы повторяете то же самое что делали с Греем (указываете столбец и пишите то что вы хотите заменить).
{
"ru": {
"TID_TITLE_MASTERY_GRAY": {
"RU": "Я люблю Грея"
},
"TID_TITLE_MASTERY_LILY": {
"RU": "Я люблю Лили"
И после этого закрываете 3 открытые скобки (ВАЖНО ЗАМЕТИТЬ! Скобка которая отвечает за грея уже закрыта!! По этому закрыть нужно именно 3 скобки!!).
Закрываете скобку которая меняла текст на лили, потом скобка которая стояла возле "ru", и в конце скобка которая показывает конец кода.
{
"ru": {
"TID_TITLE_MASTERY_GRAY": {
"RU": "Я люблю Грея"
},
"TID_TITLE_MASTERY_LILY": {
"RU": "Я люблю Лили"
}
}
}
А что если надо поменять строку в другом файле?
Так тоже можно! На самом деле это будет работать почти так же как и когда мы меняли титул Лили, разница в том что новые скобки вы будем открывать допустим не после скобок где мы меняли текст на Грея, а после скобок которые закрывают "ru".
Вот пример как это должно выглядеть:
{
"ru": {
"TID_TITLE_MASTERY_GRAY": {
"RU": "Я люблю Грея"
},
"TID_TITLE_MASTERY_LILY": {
"RU": "Я люблю Лили"
}
},
"your file name"
НЕ ЗАБЫВАЕМ ПРО ЗАПЯТУЮ ПОСЛЕ СКОБКИ!!!
Давайте мы для примера поменяем "alliance_roles.csv", сделаем так что б у участника была визуально возможность отсылать письма клубу!
Сначала указываем имя файла и открываем скобки как обычно.
{
"ru": {
"TID_TITLE_MASTERY_GRAY": {
"RU": "Я люблю Грея"
},
"TID_TITLE_MASTERY_LILY": {
"RU": "Я люблю Лили"
}
},
"alliance_roles": {
Теперь нужно посмотреть какую строку и столбец мы будем менять, в нашем случае это будет строка "Member" и столбец "CanSendMail".

Сразу можно заметить что по дефолту(а то есть так поставили разработчики) участник НЕ может отправлять письма клуба, из-за чего в ячейке написано "false". С другой стороны президент клуба может вполне это делать, именно поэтому у него в ячейке написано "true".
Наша задача дать участнику тоже возможность (хоть и визуально) увидеть кнопку создания письма клуба.
Для этого мы изменим значение в строке "Member" и столбце "CanSendMail" на "true", выглядеть это будет примерно так:
{
"ru": {
"TID_TITLE_MASTERY_GRAY": {
"RU": "Я люблю Грея"
},
"TID_TITLE_MASTERY_LILY": {
"RU": "Я люблю Лили"
}
},
"alliance_roles": {
"Member": {
"CanSendMail": "true"
Ну и в конце как обычно закрываем все наши ранее открытые скобочки.
{
"ru": {
"TID_TITLE_MASTERY_GRAY": {
"RU": "Я люблю Грея"
},
"TID_TITLE_MASTERY_LILY": {
"RU": "Я люблю Лили"
}
},
"alliance_roles": {
"Member": {
"CanSendMail": "true"
}
}
}
Таким способом мы получаем небольшой и вполне крутой мод!
Если вы с лёгкостью прошлись по всем пунктам этого туториала то есть ещё несколько интересных вещей которые могут облегчить вам написание кода.
Если вы хотите что б в ячейке не было б абсолютно ничего то вы должны вместо текста написать null БЕЗ КАВЫЧЕК, выглядеть это будет примерно вот так:
{
"ru": {
"TID_TITLE_MASTERY_GRAY": {
"RU": "Я люблю Грея"
},
"TID_TITLE_MASTERY_LILY": {
"RU": null
}
}
}
Тут мы поменяли титул лили на ... ничего.
ВАЖНО, делать так с текстом не желательно, но возможно вам когда-нибудь это пригодится.
Ещё один прикольный лайфхак это возможность смены всех значений в одном столбце на то что вы напишите, для этого вы должны будете сделать примерно вот такое:
{
"ru": {
"*": {
"RU": "Я люблю нуллс"
}
}
}
Вместо строки вы должны указать "*", это означает что должна быть затронута каждая строка, соответственно абсолютно всё что находится в столбце "RU" (что в принципе и есть весь текст) будет заменено на "Я люблю нуллс"
Это примерно и есть весь туториал! Надеюсь вы сможете найти себя в качестве создателя модов и у вас появится много крутых идей!
от @DenysDt и @sakupen_ppppp, спасибо за просмотр!