J'écris un mod Factorio et j'essaie de comprendre pourquoi cela ne fonctionne pas. Puis-je effectuer une sorte de journalisation des erreurs / débogages quelque part? Les rapports manuels (variables d'impression) et simples (erreur d'accès à une propriété qui n'existe pas) seraient parfaits. Je connais la player.print
méthode, mais je ne peux l'obtenir que pour imprimer des littéraux de chaîne, pas des objets:
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)
J'ai également essayé le fichier journal dans le dossier d'application et les différents modes de débogage (F5 / F6 dans le jeu), mais jusqu'à présent, je n'ai rien trouvé d'utile.
ToString()
méthode.Réponses:
Selon ce post du forum
la source
factorio.exe
partir de l'invite de commande démarre le jeu, mais revient immédiatement et je ne vois que la sortie de la première ligne de journal. L'utilisationstart factorio.exe /wait
ne fonctionne pas non plus, car elle ouvre uniquement une fenêtre de console et ne démarre pas du tout le jeu.Vous pouvez utiliser la fonction error () qui envoie à factorio-current.log
Par exemple:
erreur ("Salut joueur")
ou
erreur (serpent_block (nom_table))
la source
Il existe une méthode write_file dans LuaGameScript.
( http://lua-api.factorio.com/0.15.23/LuaGameScript.html#LuaGameScript.write_file )
Le fichier se retrouvera dans un dossier appelé
script-output
sous%APPDATA%/Factorio
, à côté de votrescenarios
dossier.la source