Estoy escribiendo un mod Factorio, y estoy tratando de descubrir por qué no funciona. ¿Puedo hacer algún tipo de registro de error / depuración en alguna parte? Tanto el manual (variables de impresión) como el simple informe de errores (acceder a una propiedad que no existe) sería genial. Conozco el player.print
método, pero solo puedo hacer que imprima literales de cadena, no 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)
También probé el archivo de registro en la carpeta de la aplicación y los diversos modos de depuración (F5 / F6 en el juego), pero hasta ahora no he encontrado nada útil.
ToString()
método.Respuestas:
De acuerdo con esta publicación del foro
fuente
factorio.exe
desde el símbolo del sistema inicia el juego, pero regresa de inmediato y solo veo el resultado de la primera línea de registro. El usostart factorio.exe /wait
tampoco funciona, porque solo abre una ventana de consola y no inicia el juego en absoluto.Puede usar la función error () que se envía a factorio-current.log
Por ejemplo:
error ("Hola jugador")
o
error (serpent_block (nombre_tabla))
fuente
Hay un método write_file en LuaGameScript.
( http://lua-api.factorio.com/0.15.23/LuaGameScript.html#LuaGameScript.write_file )
El archivo terminará en una carpeta llamada
script-output
debajo%APPDATA%/Factorio
, al lado de suscenarios
carpeta.fuente