Ich schreibe einen Factorio-Mod und versuche herauszufinden, warum er nicht funktioniert. Kann ich irgendwo eine Art Fehler- / Debug-Protokollierung durchführen? Sowohl manuelle (Druckvariablen) als auch einfache Fehlerberichte (Zugriff auf eine nicht vorhandene Eigenschaft) wären großartig. Ich kenne die player.print
Methode, kann sie aber nur zum Drucken von Zeichenfolgenliteralen und nicht von Objekten verwenden:
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)
Ich habe auch die Protokolldatei im Anwendungsordner und die verschiedenen Debug-Modi (F5 / F6 im Spiel) ausprobiert, aber bisher nichts Nützliches gefunden.
ToString()
Methode.Antworten:
Nach diesem Forumsbeitrag
quelle
factorio.exe
an der Eingabeaufforderung startet das Spiel, kehrt jedoch sofort zurück und ich sehe nur die Ausgabe der ersten Protokollzeile. Die Verwendungstart factorio.exe /wait
funktioniert auch nicht, da sie nur ein Konsolenfenster öffnet und das Spiel überhaupt nicht startet.Sie können die Funktion error () verwenden, die an factorio-current.log gesendet wird
Zum Beispiel:
Fehler ("Hi Player")
oder
Fehler (Serpent_block (Tabellenname))
quelle
In LuaGameScript gibt es eine write_file-Methode.
( http://lua-api.factorio.com/0.15.23/LuaGameScript.html#LuaGameScript.write_file )
Die Datei wird in einem Ordner mit dem Namen
script-output
unter%APPDATA%/Factorio
neben Ihremscenarios
Ordner gespeichert .quelle