1. Dashboard
  2. News
  3. Forum
  4. Filebase Fs25
    1. Neue Dateien
    2. FBM Team Fs25
  5. Filebase Fs22
    1. Neue Dateien
    2. FBM Team Fs22
  6. Filebase Fs19
    1. FBM Team Fs19
  7. Streaming-Partner 7
  8. Mediathek
    1. Alben
    2. Videokanäle
  9. Support Discords
  10. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Seiten
  • Forum
  • Dateien
  • Bilder
  • Videos
  • Erweiterte Suche
  1. Forbidden Mods - einfach verboten gut
  2. Support und Hilfe
  3. User helfen Usern
  4. Hilfe Ls19

prerequisitesPresent

    • Erledigt
  • Marv63
  • 9. Oktober 2020 um 15:10
In so genannten "Bilder/Hilfethreads" dürfen keine Bilder auf den Server von FBM hochgeladen werden.
Durch die hohe Anzahl an Bildern die täglich eingestellt werden ist eine baldige Serverauslastung vorauszusehen.
Da wir dies nicht kompensieren können und auch keine Bilder oder ganze Threads löschen möchten,
bitten wir euch auch in Zukunft die Bilder bei "Fremdhostern" einzustellen.
Wir empfehlen: https://de.imgbb.com/
  • Marv63
    Reaktionen
    19
    Trophäen
    3
    Beiträge
    15
    Dateien
    3
    • 9. Oktober 2020 um 15:10
    • #1

    Hallo zusammen,

    Ich mache gerade ein Mod zum Fahrzeuge tunen. Man kann im shop dann +10%, +15%, +20% usw auswählen.

    Da das im Echten leben ja auch normal ist die Maschinen zu Chip tunen. Zudem stößt man durch Realismusmods schon manchmal an leistungsgrenzen im LS. Was ja auch gut ist.

    Aufjedenfall: Grundlegend soll jedem motorisiertem fahrzeug, das kein spline fahrzeug ist anpassungen an Leistungskurve, Spritverbrauch und Wartungskosten(evtl. auch intervall) vorgenommen werden können. So ähnlich wie beim guidance steering Mod von Wopster (viel code ist daran auch orientiert) soll im shop ein weiteres auswahlfenster erscheinen.

    Doch es hapert bei mir, ich bin auch nicht sehr erfahren mit lua...

    Zuerst kommt

    2020-10-09 14:57 dataS/scripts/vehicles/VehicleTypeManager.lua(223) : attempt to call field 'prerequisitesPresent' (a nil value) und dannach viele folge fehler nehme ich an...

    Seht selbst im anhang...

    Mein script besteht aus einem Ladepart "Tuning.lua" und einem specialisations part "tuneablespec.lua"

    zudem hab ich eine xml in der die config möglichkeiten gespeichert sind.

    Natürlich ist alles noch nicht ehh fertig... die ganze funktionalität kommt noch, bis jetzt will ich nur, dass bei jedem Motorisierten fahrzeug die auswahl kommt.

    ladepart "Tuning.lua"

    Code: Tuning
    -- Script for tuning Motorized vehicles
    -- By Marv63 2020
    
    local directory = g_currentModDirectory
    local modName = g_currentModName
    
    local tuning
    local tuningconfig = {}
    
    local function isEnabled()
        return tuning ~= nil
    end
    print("pre load")
    
    
    function init()
        print("init Tuning...")
        FSBaseMission.delete = Utils.appendedFunction(FSBaseMission.delete, unload)
    
        Mission00.load = Utils.prependedFunction(Mission00.load, loadMission)
    
        VehicleTypeManager.validateVehicleTypes = Utils.prependedFunction(VehicleTypeManager.validateVehicleTypes, validateVehicleTypes)
        StoreItemUtil.getConfigurationsFromXML = Utils.overwrittenFunction(StoreItemUtil.getConfigurationsFromXML, addGPSConfigurationUtil)
    end
    
    function loadMission(mission)
        addModEventListener(Tuning)
        print("loading Tuning...")
    
    --[[    local xmlFile = loadXMLFile("ConfigurationXML", directory .. "res/tuningConfiguration.xml")
        if xmlFile ~= nil then
            for i = 1, 11 do
                local key = ("buyableTuneConfigurations.buyableTuneConfiguration(%d)"):format(i - 1)
    
                local config = {}
                config.desc = ""
                config.isDefault = getXMLBool(xmlFile, key .. "#isDefault")
                config.dailyUpkeep = 0
                config.index = i
                config.price = getXMLInt(xmlFile, key .. "#price")
                config.name = g_i18n:getText(getXMLString(xmlFile, key .. "#name"))
                config.multiplier = getXMLBool(xmlFile, key .. "#multiplier")
    
                table.insert(tuningconfig, config)
            end
    
            delete(xmlFile) 
        end]]
    end
    
    function unload()
        if not isEnabled() then
            return
        end
    
        removeModEventListener(Tuning)
        Tuning = nil
    end
    
    function validateVehicleTypes(vehicleTypeManager)
        Tuning.installSpecializations(g_vehicleTypeManager, g_specializationManager, directory, modName)
    end
    
    function Vehicle:Tuning_getModName()
        return modName
    end
    
    function Vehicle:Tuning_getSpecTable(name)
        local spec = self["spec_" .. modName .. "." .. name]
        if spec ~= nil then
            return spec
        end
    
        return self["spec_" .. name]
    end
    
    function Tuning.installSpecializations(vehicleTypeManager, specializationManager, modDirectory, modName)
        specializationManager:addSpecialization("tuning", "Tuning", Utils.getFilename("src/Tuneablespec.lua", modDirectory), nil)
        for typeName, typeEntry in pairs(vehicleTypeManager:getVehicleTypes()) do
            if SpecializationUtil.hasSpecialization(Drivable, typeEntry.specializations) and
                    not SpecializationUtil.hasSpecialization(SplineVehicle, typeEntry.specializations) then
                vehicleTypeManager:addSpecialization(typeName, modName .. ".tuning")
            end
        end
    end
    
    
    
    init()
    Alles anzeigen

    und hier die speci part

    Code: tuneablespec.lua
    Tuneablespec = {}
    
    
    
    function Tuneablespec.prerequisitesPresent(specializations)
        return SpecializationUtil.hasSpecialization(Drivable, specializations)
    end
    
    function Tuneablespec.registerFunctions(vehicleType)
        SpecializationUtil.registerFunction(vehicleType, "getIsTuned", Tuneablespec.getIsTuned)
        SpecializationUtil.registerFunction(vehicleType, "getMultiplier", Tuneablespec.getMultiplier)
    end
    function Tuneablespec:onLoad(savegame)
        local isTuned = false
        local configId = self.configurations[Tuneablespec.CONFIG_NAME]
    
        if configId ~= nil then
            local item = g_storeManager:getItemByXMLFilename(self.configFileName)
            local config = item.configurations[Tuneablespec.CONFIG_NAME][configId]
    
            if config ~= nil then
                isTuned = config.multiplier < 1
                ObjectChangeUtil.updateObjectChanges(self.xmlFile, "vehicle.buyableTuneConfigurations.buyableTuneConfiguration", configId, self.components, self)
            end
        end
    
        self.spec_Tuneablespec = self:Tuning_getSpecTable("Tuneablespec")
        local spec = self.spec_Tuneablespec
    
        spec.isTuned = isTuned
    
        if not spec.isTuned then
            return
        end
    end
    
    function Tuneablespec.initSpecialization()
        g_configurationManager:addConfigurationType(Tuneablespec.CONFIG_NAME, g_i18n:getText("configuration_buyableTuning"), nil, nil, nil, nil, ConfigurationUtil.SELECTOR_MULTIOPTION)
    end
    
    function Tuneablespec:getIsTuned()
        local spec = self.spec_Tuneablespec
        return spec.isTuned
    end
    Alles anzeigen

    Grüße

    Marv63

    Dateien

    log.txt 156,31 kB – 1 Download
  • Marv63
    Reaktionen
    19
    Trophäen
    3
    Beiträge
    15
    Dateien
    3
    • 10. Oktober 2020 um 15:27
    • #2

    Hallo nochmal

    ich hab nochmal ein paar dinge geändert und jetzt klappt es. Keine Ahnung warum, ich mag lua nicht warum kann das keine detailierteren Errors bringen?

    Naja

    Kann geschlossen werden.

    Danke

    Gruß

Ähnliche Themen

  • LUA Errors auf der Ellerbach

    • Justin7190
    • 20. September 2020 um 12:01
    • Hilfe Ls19

Benutzer online in diesem Thema

  • 1 Besucher
  1. Datenschutzerklärung
  2. Cookie-Richtlinie
  3. Nutzungsbedingungen
  4. Impressum
  5. Kontakt
Community-Software: WoltLab Suite™
Design by Forbidden-Mods.de