В Factorio помимо бесконечного строительства фабрик можно отвлечься на создание рынка, который может служить для обмена ресурсами и предметами. Однако стандартные игровые механики не позволяют использовать рынок без определённых манипуляций с кодом. В этом руководстве мы рассмотрим два способа создания работающего рынка, используя как внутриигровые команды, так и работу с файлами игры.
В этом руководстве мы научим вас правильной настройке рынка, чтобы он функционировал корректно. Мы пошагово объясним, как использовать код для создания рынка, как добавить предметы для продажи и покупки, а также предоставим полезные советы для тех, кто хочет автоматизировать процесс создания и использования этой постройки.
Создание рынка через внутриигровые команды
Первый способ достаточно прост и заключается в использовании внутриигровой команды, которая создаёт рынок и добавляет в него товары.
Для этого вам необходимо следовать этим шагам:
- Откройте консоль в игре (обычно это клавиша ~).
- Введите следующую команду:
/c
local player = game.player
local surface = player.surface
local market_location = {x = player.position.x, y = player.position.y - 3}
local market = surface.create_entity{name = "market", position = market_location, force = player.force}
local items = {
{price = {{"coin", 10}}, offer = {type = 'give-item', item = 'iron-plate', count=1}},
{price = {{"coin", 15}}, offer = {type = 'give-item', item = 'copper-plate', count=1}},
{price = {{"coin", 20}}, offer = {type = 'give-item', item = 'steel-plate', count=1}},
{price = {{"coin", 50}}, offer = {type = 'give-item', item = 'advanced-circuit', count=1}},
}
for _, item in ipairs(items) do
market.add_market_item(item)
end
В коде указан список товаров, которые можно купить на рынке. Например, 1 железная пластина (iron-plate) будет стоить 10 монет (coin), а 1 продвинутая схема (advanced-circuit) — 50 монет.
Вы можете изменить внутренние названия предметов, которые продаются, и их цены, заменив значения в соответствующих местах кода.
Создание рынка через редактирования файлов игры
Если вам нужно повторно использовать настройки рынка или создать их в нескольких игровых мирах, лучше воспользоваться вторым методом, который включает редактирование игровых файлов.
- Установите текстовый редактор, поддерживающий формат .lua (например, Notepad++).
- Перейдите в папку сценариев игры: C:\Users\<ваш_пользователь>\AppData\Roaming\Factorio\scenarios
- Откройте файл control.lua и вставьте следующий код:
function spawn_market(cmd)
local surface = game.player.surface
local player = game.player
local market_location = {x = player.position.x, y = player.position.y - 3}
local market = surface.create_entity{name = "market", position = market_location, force = player.force}
local items = {
{price = {{"coin", 10}}, offer = {type = 'give-item', item = 'iron-plate', count=1}},
{price = {{"coin", 15}}, offer = {type = 'give-item', item = 'copper-plate', count=1}},
{price = {{"coin", 20}}, offer = {type = 'give-item', item = 'steel-plate', count=1}},
{price = {{"coin", 50}}, offer = {type = 'give-item', item = 'advanced-circuit', count=1}},
}
for _, item in ipairs(items) do
market.add_market_item(item)
end
end
commands.add_command("market0", 'Build a market.', spawn_market)
Сохраните изменения и загрузите сценарий в игре. Теперь, чтобы создать рынок, введите команду /market0 в консоли игры, и рынок будет автоматически создан с указанными предметами.
Примечания
- При редактировании кода важно следить за правильностью расстановки запятых, точек и скобок, так как их отсутствие может привести к ошибкам.
- Используйте внутриигровые имена предметов (например, iron-plate или coin), чтобы корректно настроить цены и предложения на рынке.
- Вы также можете настроить рынок для продажи предметов игроку, поменяв местами цену и предметы в коде.
Теперь вы знаете, как легко и быстро создать рынок в Factorio, чтобы автоматизировать процесс покупки и продажи необходимых ресурсов.