Developer PowerTools é um mod de qualidade de vida para modders que funciona bem junto com Power Tools, Easy Dev Controls, Global Explorer e mods semelhantes.
Um estilo aprimorado de visualização de tabelas no jogo, juntamente com a possibilidade de salvar tabelas em arquivos Lua bem formados, abre uma nova maneira de entender o modelo de objeto FS!
# CARACTERÍSTICAS:
- Novos comandos de console para reiniciar o jogo (veja detalhes abaixo)
- Comando do console para imprimir o conteúdo da tabela Lua no console/log ou em um arquivo separado
- Comando do console para limpar o arquivo de log
# COMANDOS DO CONSOLE:
- [NOTA*] dtRestart (ou 'r'): Reinicia o cliente do jogo usando uma reinicialização suave (um pouco mais rápida que uma reinicialização forçada)
- [NOTA*] dtRestartHard (ou 'rr'): Executa um hard reset (isso garantirá que tudo seja descarregado da memória)
- dtTable: Imprime o conteúdo de uma tabela Lua no console/log
- dtSaveTable: salva o conteúdo de uma tabela Lua em um arquivo (3-4x mais rápido do que imprimir uma tabela no log)
- dtVisualizeTable [beta]: Uma maneira aprimorada de imprimir tabelas no log, mais rápida, mais eficiente em termos de memória e visualmente aprimorada.
- dtClearLog (ou 'cls'): Limpa o arquivo log.txt para obter um novo log (especialmente útil ao usar o comando restart)
*NOTA: Devido a novas limitações no FS25, o reinício automático do jogo salvo atual está desativado até que os Giants reativem esse recurso.
# CUIDADO!
Os comandos do console para reiniciar o jogo farão isso sem solicitar que você salve seu progresso primeiro. Ou seja você corre o risco de perder progresso se não for cauteloso!
# SALVANDO TABELAS
O 'dtSaveTable' permite que você despeje rapidamente uma tabela Lua no disco em um arquivo Lua bem formatado, o que significa que você pode carregar esse arquivo como um arquivo de origem no interpretador Lua ou no jogo. Isto tem vários casos de uso, especialmente para entender o modelo de objeto FS.
Opcionalmente, você pode escolher a profundidade da saída, especialmente importante ao salvar tabelas de nível superior (por exemplo, g_currentMission) que podem conter muitas tabelas filhas e/ou tabelas grandes. Graças a um código bem otimizado ainda é possível salvar g_currentMission com cerca de 5-6 níveis de profundidade antes que o mecanismo Lua comece a vazar memória e se torne instável (a profundidade padrão é definida como 2).
Exemplo:
Para despejar a tabela g_currentMission em um arquivo você pode usar o comando 'dtSaveTable g_currentMission currentMission.lua 1'. Isso exportaria a tabela g_currentMission para um arquivo chamado 'currentMission.lua' e incluiria apenas os descendentes diretos de g_currentMission.
Nota: devido a restrições de segurança, o arquivo .lua gerado será armazenado na pasta 'My Games/FarmingSimulator2025/modSettings/FS22_000_DevTools'.
# IMPRESSÃO DE TABELAS
Semelhante a 'dtSaveTable', o comando 'dtTable' pode ser usado para gerar uma tabela no log. Toma o nome da tabela como parâmetro obrigatório e maxDepth como parâmetro opcional (com valor padrão de 2).
Importante! Devido à natureza de como o FS é impresso no log, ele é recomendado apenas para tabelas razoavelmente pequenas e/ou estruturas rasas (a profundidade não deve exceder 2-3). Por exemplo imprimir g_currentMission no console com uma profundidade de 4 fará com que o FS consuma cerca de 10-15 GB de RAM do sistema e, em seguida, trave com um erro de falta de memória.
Se precisar imprimir uma estrutura mais profunda é recomendado usar 'dtSaveTable'.