Beiträge von Vector Man
-
-
-
Oh Mann, hab den Wald vor lauter Bäumen nicht gesehen (wortwörtlich :D)
Habe die cutTop() immer aus der Klasse aufgerufen statt aus self, also TopSaw:cutTop() statt self:cutTop(). Eigentlich logisch
Jedenfalls, vielen Dank für die schnelle Hilfe. Echt ein tolles Forum, auch für Skripter
LG
-
Moin zusammen,
ich benötige mal eure Hilfe: In all meinen Skripten hatte ich bisher das Problem, dass ich beim Ansprechen von "self.spec_modName" aus eigenen (mit registerFunctions registrierten) Funktionen nur 'nil' geliefert bekomme. Bei bereits verfügbaren Funktionen und EventListenern wie z.B. 'onLoad' oder 'onUpdate' existiert das Problem nicht. Ich habe mir mal testweise den Wert von 'self' rekursiv printen lassen, einmal aus einer custom Funktion und einmal aus onLoad. Wie in der Log zu sehen, ist 'self' in der custom Funktion grob unvollständig, was auch der Grund für das Fehlen des spec-Tables ist. Einige Code-Ausschnitte:
Code
Alles anzeigen-- gekürzt TopSaw.specName = string.format("spec_%s.topSaw", g_currentModName) -- registerFunctions function TopSaw.registerFunctions(vehicleType) SpecializationUtil.registerFunction(vehicleType, "cutTop", TopSaw.cutTop) end -- onLoad function TopSaw:onLoad(savegame) -- Create spec in self self.spec_topSaw = self[TopSaw.specName] local spec = self.spec_topSaw DebugUtil.printTableRecursively(self) -- (...) end -- custom Funktion function TopSaw:cutTop(noEventSend) local spec = self.spec_topSaw DebugUtil.printTableRecursively(self) self:setAnimationTime(spec.xmlValues.cutAnimation.name, 0, true) -- hier ist spec = nil -- (...) end
Zusätzlich besteht das Problem, dass ich mir (siehe Code) erstmal einen Spec Table erstellen muss, da der ursprüngliche ein anderen Titel hat ("self.spec_FS22_modName.specializationName"). Ist das normal?
Danke im Voraus und viele Grüße
Vector Man