ID-Darstellung#

UI handles, Skript-Komponenten-IDs und UniverseID cdata haben unterschiedliche Verträge. Stellen Sie fest, was ein Anruf zurückkommt und die nächste erwartet. In X4 9.00 Forschung, Anwendung ConvertIDTo64Bit Eine vorsorgliche universelle Umwandlung ist kein Ersatz für die Prüfung von Typen.

Exakte Ganzzahl-Bereich#

Eine zweifache Lua-Zahl kann nicht jede ganze Zahl oben darstellen 2^53. Dies ist wichtig für NPCSeed und andere 64-Bit-Werte. Das Beispiel zeigt die LuaJIT-Darstellung, nicht einen Spielaufruf. Definieren Sie einen kanonischen Speichertyp und die Kodierung; übergeben Sie keine exakten Werte durch tonumber wenn der Bereich die doppelte Präzision überschreiten kann. tostring(cdata) kann einen Typ Suffix enthalten.

LUA
local ffi = require("ffi")
-- Синтаксис 64-битного литерала LuaJIT.
local exact = ffi.new("uint64_t", 9007199254740993ULL)
local text = tostring(exact)
-- У tostring(cdata) может быть суффикс типа.

Bezugslebensdauer#

Speichern Sie keine temporäre Benutzeroberfläche als permanente Schiffsreferenz über Lasten. Lösen Sie das Objekt im aktuellen Kontext wieder und überprüfen Sie die Existenz. Ein Name oder Makro ist keine eindeutige Instanzidentifikation.

Überprüfung#

Umlaufe einen großen Samen durch deinen echten Lese-/Speicherpfad. Beinhalte ungültige und fehlende Objekte, öffne das Menü und speichere das Laden. Vergleichen Sie Original- und Restwerte ohne Zwischenrunden.