Мод «Power Tools: Developer» для Farming Simulator 22

Power Tools: Developer главная картинка
Power Tools: Developer 2
Power Tools: Developer 3
Power Tools: Developer 4
Power Tools: Developer 5
Power Tools: Developer - это полезный мод для моддеров, который отлично сочетается с Power Tools, Easy Dev Controls и Global Explorer.

Улучшенный стиль визуализации внутриигровых таблиц, а также возможность сохранения таблиц в хорошо сформированные Lua-файлы, открывают новый способ понимания объектной модели FS!

# ОСОБЕННОСТИ:
- Новые консольные команды для перезапуска игры (подробности см. ниже)
- Консольная команда для печати содержимого Lua-таблиц в консоль/лог или в отдельный файл
- Консольная команда для очистки лог-файла

# КОНСОЛЬНЫЕ КОМАНДЫ:
- dtRestart (или 'r'): Перезапускает текущую игру с сохранением с помощью мягкого перезапуска (немного быстрее, чем жесткий перезапуск).
- dtRestartHard (или 'rr'): Выполняет жесткий перезапуск (при этом из памяти будет выгружено все необходимое).
- dtTable: Выводит содержимое таблицы Lua в консоль/журнал.
- dtSaveTable: Сохраняет содержимое таблицы Lua в файл (в 3-4 раза быстрее, чем печать таблицы в журнал)
- dtVisualizeTable [beta]: Улучшенный способ печати таблиц в журнал, более быстрый, более эффективный с точки зрения памяти и визуально улучшенный.
- dtClearLog (или 'cls'): Очищает файл log.txt, чтобы получить свежий журнал (особенно полезно при использовании команды restart).

# ВНИМАНИЕ!
Консольные команды для перезапуска игры выполняются без запроса на сохранение прогресса. То есть вы рискуете потерять прогресс, если не будете осторожны!

# СОХРАНЕНИЕ ТАБЛИЦ
Функция 'dtSaveTable' позволяет быстро сбросить таблицу Lua на диск в хорошо отформатированном Lua-файле, что означает, что вы можете загрузить этот файл в качестве исходного в Lua-интерпретаторе или в игре. Это имеет несколько вариантов использования, особенно для понимания объектной модели FS.

Опционально вы можете выбрать глубину вывода, что особенно важно при сохранении таблиц верхнего уровня (например, g_currentMission), которые могут содержать множество дочерних таблиц и/или больших таблиц. Благодаря хорошо оптимизированному коду можно сохранять g_currentMission с глубиной порядка 5-6 уровней, прежде чем движок Lua начнет утекать память и станет нестабильным (по умолчанию глубина установлена на 2).

Пример:
Чтобы сбросить таблицу g_currentMission в файл, можно использовать команду 'dtSaveTable g_currentMission currentMission.lua 1'. В результате таблица g_currentMission будет экспортирована в файл с именем 'currentMission.lua', включающий только прямых потомков g_currentMission.

Примечание: из-за ограничений безопасности сгенерированный .lua-файл будет храниться в папке 'My GamesFarmingSimulator2022modSettingsFS22_000_DevTools'.

# ПЕЧАТЬ ТАБЛИЦ
Аналогично команде 'dtSaveTable', команда 'dtTable' может быть использована для вывода таблицы в журнал.Она принимает имя таблицы в качестве обязательного параметра и maxDepth в качестве необязательного параметра (значение по умолчанию равно 2).
Важно!Из-за особенностей печати FS в лог рекомендуется использовать только достаточно маленькие таблицы и/или неглубокие структуры (глубина не должна превышать 2-3).
Например, печать g_currentMission в консоль с глубиной 4 приведет к тому, что FS будет потреблять около 10-15 ГБ системной памяти, а затем завершится ошибкой out-of-memory.

Если вам нужно распечатать более глубокую структуру, рекомендуется использовать 'dtSaveTable'.