Developer PowerTools ist ein Quality-of-Life-Mod für Modder, der gut mit Power Tools, Easy Dev Controls, Global Explorer und ähnlichen Mods zusammenarbeitet.
Ein verbesserter Stil der Visualisierung von Tabellen im Spiel, zusammen mit der Möglichkeit, Tabellen in wohlgeformten Lua-Dateien zu speichern, eröffnet einen neuen Weg, das FS-Objektmodell zu verstehen!
# FEATURES:
- Neue Konsolenbefehle zum Neustart des Spiels (siehe unten für Details)
- Konsolenbefehl, um Lua-Tabelleninhalte entweder in die Konsole/Log oder in eine separate Datei zu drucken
- Konsolenbefehl zum Löschen der Logdatei
# KONSOLENBEFEHLE:
- [HINWEIS*] dtRestart (oder 'r'): Startet den Spiel-Client mit einem sanften Neustart neu (etwas schneller als ein harter Reset)
- [HINWEIS*] dtRestartHard (oder 'rr'): Führt einen harten Neustart durch (dadurch wird sichergestellt, dass alles aus dem Speicher entladen wird)
- dtTable: Gibt den Inhalt einer Lua-Tabelle auf der Konsole/im Log aus
- dtSaveTable: Speichert den Inhalt einer Lua-Tabelle in eine Datei (3-4x schneller als das Drucken einer Tabelle in das Protokoll)
- dtVisualizeTable [beta]: Eine verbesserte Art und Weise, Tabellen in das Protokoll zu drucken, sowohl schneller, speichereffizienter als auch visuell verbessert.
- dtClearLog (oder 'cls'): Löscht die Datei log.txt, um ein frisches Protokoll zu erhalten (besonders nützlich bei Verwendung des Befehls restart)
*HINWEIS: Aufgrund neuer Einschränkungen in FS25 ist der automatische Neustart des aktuellen Spielstands deaktiviert, bis Giants diese Funktion wieder aktiviert.
# VORSICHT!
Die Konsolenbefehle zum Neustart des Spiels werden dies tun, ohne Sie zu fragen, ob Sie Ihren Fortschritt speichern wollen. D.h. Sie riskieren, Ihren Fortschritt zu verlieren, wenn Sie nicht vorsichtig sind!
# TABELLEN SPEICHERN
Mit 'dtSaveTable' kann man schnell eine Lua-Tabelle in einer gut formatierten Lua-Datei auf der Festplatte speichern, d.h. man kann diese Datei als Quelldatei im Lua-Interpeter oder im Spiel laden. Dies hat mehrere Anwendungsfälle, insbesondere um das FS-Objektmodell zu verstehen.
Optional kann man die Tiefe der Ausgabe wählen, was besonders wichtig ist, wenn man Tabellen der obersten Ebene (z.B. g_currentMission) speichert, die viele untergeordnete und/oder große Tabellen enthalten können. Dank eines gut optimierten Codes ist es immer noch möglich, g_currentMission mit einer Tiefe von 5-6 Ebenen zu speichern, bevor die Lua-Engine anfängt, Speicher zu verlieren und instabil wird (die Standardtiefe ist auf 2 eingestellt).
Beispiel:
Um die g_currentMission-Tabelle in eine Datei zu speichern, könnte man den Befehl 'dtSaveTable g_currentMission currentMission.lua 1' verwenden. Dies würde die g_currentMission-Tabelle in eine Datei mit dem Namen 'currentMission.lua' exportieren und nur die direkten Nachfahren von g_currentMission enthalten.
Hinweis: Aus Sicherheitsgründen wird die erzeugte .lua-Datei in eurem Ordner 'My Games/FarmingSimulator2022/modSettings/FS25_000_DevTools' gespeichert.
# TABELLEN AUSDRUCKEN
Ähnlich wie 'dtSaveTable' kann auch der Befehl 'dtTable' verwendet werden, um eine Tabelle in das Protokoll auszugeben. Er nimmt den Tabellennamen als obligatorischen Parameter und die maxDepth als optionalen Parameter (mit einem Standardwert von 2).
Wichtig! Aufgrund der Art, wie FS in das Protokoll druckt, wird es nur für relativ kleine Tabellen und/oder flache Strukturen empfohlen (die Tiefe sollte 2-3 nicht überschreiten). Wenn Sie z.B. g_currentMission mit einer Tiefe von 4 auf der Konsole ausgeben, verbraucht FS etwa 10-15 GB Speicherplatz und stürzt dann mit einem Out-of-Memory-Fehler ab.
Wenn Sie eine tiefere Struktur ausdrucken müssen, wird empfohlen, 'dtSaveTable' zu verwenden.