Desenvolvedor PowerTools v1.0 – FS25
Desenvolvedor PowerTools v1.0
Developer PowerTools é um mod de qualidade de vida para modders que funciona bem junto com Power Tools, Easy Dev Controls, Global Explorer e mods similares.
Um estilo melhorado de visualização de tabelas no jogo, junto com a possibilidade de salvar tabelas em arquivos Lua bem formados, abre uma nova maneira de entender o modelo de objeto FS!
RECURSOS:
– Novos comandos de console para reiniciar o jogo (veja abaixo para detalhes)
– Comando de console para imprimir o conteúdo da tabela Lua no console/log ou em um arquivo separado
– Comando de 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ápido do que uma reinicialização forçada)
– [NOTA*] dtRestartHard (ou ‘rr’): Executa uma reinicialização forçada (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 melhorada.
– dtClearLog (ou ‘cls’): Limpa o arquivo log.txt para obter um log novo (especialmente útil ao usar o comando restart)
OBSERVAÇÃO: Devido a novas limitações no FS25, a reinicialização automática do jogo salvo atual será desativada até que a Giants reative esse recurso.
CUIDADO!
Os comandos do console para reiniciar o jogo farão isso -sem- pedir que você salve seu progresso primeiro. Ou seja, você corre o risco de perder o 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. Isso 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.
Observação: devido a restrições de segurança, o arquivo .lua gerado será armazenado na pasta ‘Meus Jogos/FarmingSimulator2025/modSettings/FS22_000_DevTools’.
IMPRIMINDO TABELAS
Semelhante ao ‘dtSaveTable’, o comando ‘dtTable’ pode ser usado para gerar uma tabela no log. Ele pega o nome da tabela como parâmetro obrigatório e o maxDepth como parâmetro opcional (com um valor padrão de 2).
Importante! Devido à natureza de como o FS imprime no log, ele é recomendado apenas para tabelas bem 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á o FS consumir cerca de 10-15 GB de RAM do sistema e então travar em um erro de falta de memória.
Se você precisar imprimir uma estrutura mais profunda, é recomendável usar ‘dtSaveTable’.