Eigene Funktion aufrufen

  • Hallo,


    ich bin bei dem Versuch mein eigenes Skript MP Ready zu machen schon am auslagern des Codes in einzelne Funktionen gescheitert.


    [lua]
    Twinwheels = {};


    function Twinwheels.prerequisitesPresent(specializations)
    return SpecializationUtil.hasSpecialization(Motorized, specializations);
    end;


    function Twinwheels:load(xmlFile)
    self.leftFrontTwinwheel = Utils.indexToObject(self.components, getXMLString(xmlFile, "vehicle.Twinwheels.leftFrontwheel#index"));
    self.rightFrontTwinwheel = Utils.indexToObject(self.components, getXMLString(xmlFile, "vehicle.Twinwheels.rightFrontwheel#index"));
    self.leftBackTwinwheel = Utils.indexToObject(self.components, getXMLString(xmlFile, "vehicle.Twinwheels.leftBackwheel#index"));
    self.rightBackTwinwheel = Utils.indexToObject(self.components, getXMLString(xmlFile, "vehicle.Twinwheels.rightBackwheel#index"));


    self.allTwinwheelsactive = false;
    end;


    function Twinwheels:delete()

    end;


    function Twinwheels:mouseEvent(posX, posY, isDown, isUp, button)
    end;


    function Twinwheels:keyEvent(unicode, sym, modifier, isDown)
    end;



    function Twinwheels:reifenwechsel(noEventSend)
    self.allTwinwheelsactive = not self.allTwinwheelsactive;
    print("Funktion Reifenwechsel angesprochen");
    if not noEventSend then
    TwinwheelsEvent.sendEvent(self, self.allTwinwheelsactive, noEventSend);
    end;
    setVisibility(self.leftFrontTwinwheel, self.allTwinwheelsactive);
    setVisibility(self.rightFrontTwinwheel, self.allTwinwheelsactive);
    setVisibility(self.leftBackTwinwheel, self.allTwinwheelsactive);
    setVisibility(self.rightBackTwinwheel, self.allTwinwheelsactive);
    end;



    function Twinwheels:update(dt)
    if self:getIsActiveForInput() then
    if InputBinding.hasEvent(InputBinding.ALLTWINWHEELS) then
    --self.allTwinwheelsactive = not self.allTwinwheelsactive;
    self:reifenwechsel(self.allTwinwheelsactive);
    end;
    end;


    end;




    function Twinwheels:draw()
    g_currentMission:addHelpButtonText(g_i18n:getText("Twinwheels"), InputBinding.ALLTWINWHEELS);
    end;[/lua]
    In der log steht :


    Lua: Error running function: update
    C:/Users/rafftnix/Documents/My Games/FarmingSimulator2011/mods/FendtPackage/Twinwheels.lua(44) : attempt to call method 'reifenwechsel' (a nil value)

  • Hm, ist ja auch klar.
    Du rufst die Funktion etwas falsch auf. Warum möchtest du self.allTwinwheelsactive als Wert für noEventSend übergeben?


    Außerdem musst du dem Script erst beibringen, dass du eine neue Funktion erstellt hast ;)


    in den Load Teil :
    [lua]
    self.reifenwechsel = SpecializationUtil.callSpecializationsFunction("reifenwechsel");
    [/lua]


    MfG

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!