Найти в Дзене

Игра Foundation - редактируем код в модах.

Средневековый градостроительный симулятор.
Средневековый градостроительный симулятор.

Приветствую тебя, любитель побалдеть в эту залипательную игрушку.
Кратенько: игра сама по себе имеет достаточно скучный контент, который надоест в течении нескольких часов-дней, разработчики предусмотрели в ней моды. И это довольно честное решение, ибо у игроков могут быть разные предпочтения к тем или иным аспектам игры, как например у меня. Итак приступим изменять игру "под себя".

Качаем любой мод через меню в игре. Он будет лежать в папке вида:
C:\Users\ВасяАлеша\Documents\Polymorph Games\Foundation\mods

Все скачанные моды будут подло лежать в папках с цифрами

Мой пример.
Мой пример.

Заходим в папку, ищем файл mod.json. Открываем его любой подходящей программой(у меня это Visual Studio) и видим описание мода.
Рекомендую сразу же, как только находим подходящую папку с нужным модом, там же создать пустой текстовый файл, и назвать его под себя(просто чтобы ориентироваться в этих папках).
Интересуемый мод(в моем случае продукция соли):
Этот мод, добавляет в игре пару зданий по производству соли и ее использовании - появляется возможность засолить мясо, рыбу и еще что то. Но это мне неинтересно, этот мод так же добавляет 2 торгующих деревни, но они имеют скудное количество товарных позиций и я собираюсь это исправить.

Вот собственно, исходя из названия, видим нужный мод, у меня папка 156077, в ней я создам текстовый файл.
Вот собственно, исходя из названия, видим нужный мод, у меня папка 156077, в ней я создам текстовый файл.
ГОТОВО, при малейшей нужде в правках, мне не придется искать этот мод долго.
ГОТОВО, при малейшей нужде в правках, мне не придется искать этот мод долго.

Теперь, зайдем в папочку scripts1.9(версия может отличатся) и попробуем посмотреть файлы

-5

В принципе, из названий понятно, что за что отвечает. Если непонятно, например common.lua просто зайдем поглядим, что там.

-6

Да, исходя из комментария в коде, "Регистрация специфической функции строения". Видимо, какие то начальные параметры на создание объекта в игре. Не стал вдаваться в подробности, т.к цели менять этот аспект нету.
Хорошо, смотрим другие файлы...
Методом тыка, нахожу в файле trade.lua(внезапно) строки вида:

-7
Продать соль, купить соль. Автор данного мода не запаривался, но ладно, спасибо и на том. =)
Продать соль, купить соль. Автор данного мода не запаривался, но ладно, спасибо и на том. =)

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

--RESOURCE QUANTITY PAIR
UnlockCost = {
{ Resource = "GOLD", Quantity = 300 }
}

Кому сложно в английский, могу предложить копировать код и вставлять прямо в переводчик в браузере.
на пример переменная
UnlockCost это составное имя из 2 слов: unlock - разблокировать, cost - стоимость. В общем, понимаем что эта переменная отвечает за разблокировку.
Если мы посмотри выше в этом маленьком блоке кода, то увидим остальные данные

DataType = "TRADING_VILLAGE",
Id = SaltPrefix .. "_VILLAGE_NANTES",

И действительно смотрим на скрин с игры и понимаем что код относится к деревне Nantes(мы можем ее даже переименовать, но возможно крашнется игра, потому что это название может быть где то жестко прописано и при не схождении с этой переменной вызвать ошибку)

Давайте теперь открытие этой деревни сделаем, бесплатной. Меняем значение на 0.

--RESOURCE QUANTITY PAIR
UnlockCost = {
{ Resource = "GOLD", Quantity = 0}
}

Теперь с самого начала игры мы можем не запариваясь открыть эту деревню и толкать им Мед и Траву)

-9

Не забываем сохранить файл. Заходим в игру и видим, что с самого начала деревня разблокирована:

-10

Не обращайте внимания на цифры ниже, 100 товаров, 0/10 Купить, 0/10 Продать - это я настроил сам под себя, чтобы не парится с развитием уровней торговли и вы так сможете =)

Ниже в коде файла trade.lua, где мы только что изменили цену открытия деревни, мы можем увидеть строки:

-11

Переменная BuyingResouceList - исходя из названия понимает что эта строка отвечает за покупку(торгашом), ниже видим какими именно ресурсами он барыжит:
Мед(HONEY) с ценой 30 и Травы(HERBS) с ценой 30. С цифрами ReplenishingAmount игрался. Переводится как "пополняемая сумма" - видимо у барыжки нашего по 10 единиц в промежуток времени пополняется этот товар, но я лично не заметил разницы.
А вот со знакомым параметром Quantity мы знаем что уже делать. Ставим на свое усмотрение или читаем дальше.
Т.к мы видим структуру блоков повторяющейся, то можно добавить такой же "блочок"(свой) и скажем вместо HONEY\HERBS (т.к они уже есть) напишем дерево(WOOD). И цену свою не забываем указывать

-12

Сохраняем код, заходим в игру.

-13

Видим появившееся дерево с ценой 2(ну это у меня такая цена на него)
Чтобы покупать товары, нужно просто добавлять такие блоки в разделе SellingResourseList(он всегда находится чуть ниже). Главное не запутаться.

Кстати, цены которые вы здесь укажите не сработают, если есть "курирующий"(перебивающий) мод.
Разные ребята, пишущие моды, постарались и объединили все свои ресурсы в 1 большой файл отвечающий за все ресурсы из других модов, он называется CommonResources V1

-14

Там прописаны многие параметры для ресурсов и даже на те, которые у вас не установлены в игре.
Также там новая расценка с торгующими деревнями, где вы без труда можете настроить экономику как вашей душе будет угодно.
Если вам в игре потребуется ресурс, скажем "Железо".
Скачиваем мод, который увеличивает количество добываемого железа IRON+.
Он простой в несколько строк, там видим количество, меняем под себя и радуемся.
Вот пример, по тому же принципу: мод от чувака MALICEonPC на ресурс "железо"(у него добыча стоит 15, вроде, но так как 15 это очень много и становится не интересно, я поставил под себя 2):

-15

Автору лайк и "спасибо" в комментах + подпись.
Как нибудь напишу еще статей на эту тему.