Saya sedang menulis mod Factorio, dan saya mencoba mencari tahu mengapa itu tidak berhasil. Bisakah saya melakukan semacam kesalahan / debug logging di suatu tempat? Baik manual (mencetak variabel) dan pelaporan kesalahan sederhana (mengakses properti yang tidak ada) akan bagus. Saya tahu tentang player.print
metode ini, tapi saya hanya bisa mencetak string literal, bukan objek:
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)
Saya juga sudah mencoba file log di folder aplikasi, dan berbagai mode debug (F5 / F6 dalam game), tetapi sejauh ini belum menemukan sesuatu yang berguna.
ToString()
metode secara eksplisit .Jawaban:
Menurut posting forum ini
sumber
factorio.exe
dari command prompt memulai permainan, tetapi segera kembali dan saya hanya melihat output dari baris log pertama. Menggunakanstart factorio.exe /wait
tidak berfungsi, karena itu hanya membuka jendela konsol dan tidak memulai permainan sama sekali.Anda dapat menggunakan fungsi error () yang mengirim ke factorio-current.log
Sebagai contoh:
kesalahan ("Hai pemain")
atau
kesalahan (serpent_block (table_name))
sumber
Ada metode write_file di LuaGameScript.
( http://lua-api.factorio.com/0.15.23/LuaGameScript.html#LuaGameScript.write_file )
File tersebut akan berakhir di folder bernama di
script-output
bawah%APPDATA%/Factorio
, di sebelahscenarios
folder Anda .sumber