Estou escrevendo um mod Factorio e tentando descobrir por que não funciona. Posso fazer algum tipo de log de erro / depuração em algum lugar? Seria ótimo tanto o manual (variáveis de impressão) quanto o simples relatório de erros (acessar uma propriedade que não existe). Eu sei sobre o player.print
método, mas só consigo imprimir literais de string, não objetos:
script.on_event(defines.events.on_player_created, function(event)
pcall(function()
local player = game.get_player(event.player_index)
player.print("Hi player") -- works
player.print(player) -- does not work. Any error message would be nice
end)
end)
Eu também tentei o arquivo de log na pasta do aplicativo e os vários modos de depuração (F5 / F6 no jogo), mas até agora não encontrei nada útil.
ToString()
método.Respostas:
De acordo com este post do fórum
fonte
factorio.exe
no prompt de comando inicia o jogo, mas retorna imediatamente e só vejo a saída da primeira linha de log. O usostart factorio.exe /wait
também não funciona, porque apenas abre uma janela do console e não inicia o jogo.Você pode usar a função error () que envia para factorio-current.log
Por exemplo:
erro ("Oi player")
ou
erro (serpent_block (table_name))
fonte
Existe um método write_file no LuaGameScript.
( http://lua-api.factorio.com/0.15.23/LuaGameScript.html#LuaGameScript.write_file )
O arquivo terminará em uma pasta chamada
script-output
abaixo%APPDATA%/Factorio
, ao lado da suascenarios
pasta.fonte