Beschreibung

LS22 Power Tools: Developer

Power Tools: Developer ist ein Quality-of-Life-Mod für Modder, der gut mit Power Tools, Easy Dev Controls und Global Explorer 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 den Inhalt der Lua-Tabelle entweder auf der Konsole/im Log oder in einer separaten Datei auszugeben
– Konsolenbefehl zum Löschen der Logdatei

# KONSOLENBEFEHLE:
– dtRestart (oder ‚r‘): Startet das aktuelle Spiel mit einem weichen Neustart (etwas schneller als ein harter Reset)
– 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 Log)
– dtVisualizeTable [beta]: Ein verbessertes Verfahren zum Drucken von Tabellen in das Protokoll, das schneller, speichereffizienter und visuell verbessert ist.
– dtClearLog (oder ‚cls‘): Löscht die Datei log.txt, um ein neues Protokoll zu erhalten (besonders nützlich bei Verwendung des Neustart-Befehls)

# 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 GamesFarmingSimulator2022modSettingsFS22_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.

Credits

w33zl