на главную
об игре

Как создать и правильно использовать рынок в Factorio

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

В этом руководстве мы научим вас правильной настройке рынка, чтобы он функционировал корректно. Мы пошагово объясним, как использовать код для создания рынка, как добавить предметы для продажи и покупки, а также предоставим полезные советы для тех, кто хочет автоматизировать процесс создания и использования этой постройки.

Создание рынка через внутриигровые команды

Первый способ достаточно прост и заключается в использовании внутриигровой команды, которая создаёт рынок и добавляет в него товары.

Для этого вам необходимо следовать этим шагам:

  1. Откройте консоль в игре (обычно это клавиша ~).
  2. Введите следующую команду:

/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 монет.

Вы можете изменить внутренние названия предметов, которые продаются, и их цены, заменив значения в соответствующих местах кода.

Создание рынка через редактирования файлов игры

Если вам нужно повторно использовать настройки рынка или создать их в нескольких игровых мирах, лучше воспользоваться вторым методом, который включает редактирование игровых файлов.

  1. Установите текстовый редактор, поддерживающий формат .lua (например, Notepad++).
  2. Перейдите в папку сценариев игры: C:\Users\<ваш_пользователь>\AppData\Roaming\Factorio\scenarios
  3. Откройте файл 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, чтобы автоматизировать процесс покупки и продажи необходимых ресурсов.

Комментарии: 0
Ваш комментарий