Mod-Network is recieving some updates. Thank you for your patiences ;)
w33zl
1933
101.71 KB
Developer PowerTools is a quality-of-life mod for modders that works well alongside Power Tools, Easy Dev Controls, Global Explorer, and similar mods. An improved style of visualizing in-game tables, along with the ability to save tables to well-formed Lua files, opens up a new way of understanding the FS object model! # FEATURES: - New console commands to restart the game (see below for details) - Console command to print Lua table contents to either the console/log or a separate file - Console command to clear the log file # CONSOLE COMMANDS: - [NOTE*] dtRestart (or 'r'): Restarts the game client using a soft restart (slightly faster than a hard reset) - [NOTE*] dtRestartHard (or 'rr'): Performs a hard reset (this will ensure everything is unloaded from memory) - dtTable: Prints the contents of a Lua table to the console/log - dtSaveTable: Save the contents of a Lua table to a file (3-4x times faster than printing a table to the log) - dtVisualizeTable [beta]: An improved way of printing tables to the log, both faster, more memory efficient, and visually improved. - dtClearLog (or 'cls'): Clears the log.txt file to get a fresh log (especially useful when using the restart command) *NOTE: Due to new limitations in FS25, automatic restart of the current savegame is disabled until Giants re-enables this feature. # CAUTION! The console commands to restart the game will do this -without- asking you to save your progress first. I.e. you risk losing progress if you are not cautious! # SAVING TABLES The 'dtSaveTable' allows you to quickly dump a Lua table to disk in a well-formatted Lua file, meaning you can load this file as a source file in the Lua interpreter or in-game. This has several use cases, especially to understand the FS object model. Optionally you can choose the depth of the output, especially important when saving top-level tables (e.g. g_currentMission) that may contain many child tables and/or large tables. Thanks to well-optimized code, it is still possible to save g_currentMission with some 5-6 levels of depth before the Lua engine starts to leak memory and becomes unstable (the default depth is set to 2). Example: To dump the g_currentMission table to a file you could use the command 'dtSaveTable g_currentMission currentMission.lua 1'. This would export the g_currentMission table to a file named 'currentMission.lua' and only include the direct descendants of g_currentMission. Note: due to security restrictions, the generated .lua file will be stored in your 'My Games/FarmingSimulator2025/modSettings/FS22_000_DevTools' folder. # PRINTING TABLES Similar to 'dtSaveTable', the command 'dtTable' can be used to output a table to the log. It takes the table name as a mandatory parameter and the maxDepth as an optional parameter (with a default value of 2). Important! Due to the nature of how FS prints to the log, it is only recommended for fairly small tables and/or shallow structures (depth should not exceed 2-3). E.g. printing g_currentMission to the console with a depth of 4 will make FS consume some 10-15GB of system RAM and then crash with an out-of-memory error. If you need to print a deeper structure, it is recommended to use 'dtSaveTable'.
Comments:
Login to place a comment: Login
daniel
26 Nov 2024
I recently used this mod while debugging a farm project, and the dtSaveTable command helped me deeply understand the object model. It’s a game changer!
React
matthew98
26 Nov 2024
Best mod of the week hands down! It really streamlines my workflow, especially with saving Lua tables.???? adding more console commands, it keeps everything in check. Awesome work!
React