call Befehl in Init Feld nach CBA Update auf v3.15.5.210713

  • Hallo zusammen,


    wir haben nach dem CBA Update auf die Version v3.15.5.210713 festgestellt das in bestehenden Missionen im Initfield die Aufrufe in einen
    call {this setVelocityModelSpace [0,0,0];} gesetzt sind. Dieser Call muss vom CBA Update kommen. Jedoch ist die Frage warum dies so ist. Bei einer frischen Mission mit einem leeren Objekt ist das Initfield leer so wie es sein soll.

    Wir haben daher ein downgrade auf die letzte Stable vom März durchgeführt. Vielleicht kann Commy hier etwas Licht ins Dunkel bringen?


    Gruss

    Baker

  • das ist nicht direkt was neues sondern nur ein alter workaround der nun entfernt wurde. Arma 3 hatte vor der version 2.04 kein support for Return werde in der Init Zeile im Editor, bzw wurden dort fehler geworfen. Da jedoch arma 3 mit der version 2.04 dieses nicht mehr tut hat CBA die "Custom UI" Elemente entfernt. was du dort siehst ist nun einfach der im hintergrund angwendete Fix der sichtbar geworden ist

  • Ich hab heute festgestellt dass ein Trigger der einen Remoteexecute ausführte nach dem CBA Update wegen des "call{...}" nichtmehr auslöste.


    Sobald ich das "call{...}" (mit den Klammern) gelöscht hatte funktioniert der Trigger wieder - wenn ichs wieder hinzugefügt habe ging er reproduzierbar nicht mehr.


    Würde also auf Nummer sicher gehen und es aus Triggern rauslöschen - bei Initzeilen von Einheiten scheints auch mit "call{...}" zu funktionieren.

  • Nein, dass ist Käse. Da war ein anderer Fehler. Sonst hätte der Trigger auch vor dem Update schon nicht ausgelöst ;)

    Hat vor dem Update ausgelöst, danach nicht mehr. Durch entfernen des call und der Code-Klammern gings dann plötzlich wieder. Und als ich sie nochmal eingefügt habe gings wieder nicht mehr.

    Habe das letzte mal 3 Tage vor dem Update genau diesen Trigger getestet - ging. Dann nach dem Update bin ich die Mission durchgegangen und der Trigger ging nicht mehr.

    war ein remoteexec der ein einfaches Script auf jedem Client ausführen sollte.

  • Ich hab heute festgestellt dass ein Trigger der einen Remoteexecute ausführte nach dem CBA Update wegen des "call{...}" nichtmehr auslöste.


    Sobald ich das "call{...}" (mit den Klammern) gelöscht hatte funktioniert der Trigger wieder - wenn ichs wieder hinzugefügt habe ging er reproduzierbar nicht mehr.


    Würde also auf Nummer sicher gehen und es aus Triggern rauslöschen - bei Initzeilen von Einheiten scheints auch mit "call{...}" zu funktionieren.

    ohne den genauen code zu kennen würde ich mal vermuten das du eine private variable im field nutzt was eigendlich nicht erlaubt ist in init fields in vanilla. der alte CBA Fix hat dieses problem mehr oder weniger ausversehen mit gefixed, bzw es wurde nicht bedacht das diese sache mit gefixed wurde. ich habe ein PR aufgemacht um das ganze zu reverten.

  • Das kann hier aber nicht der Fall sein, jokoho. Dann hätte das Entfernen des call das Problem ausgelöst, und nicht der Fakt, dass es nun sichtbar geworden ist.


    NSCT täuscht sich einfach. Das CBA-Update hat hier nichts kaputt gemacht. Nur weil jemand sagt, dass er es reproduzieren kann, ist es nicht reproduzierbar. So funktioniert es nun mal nicht.


    Und btw, dass jetzt lokale Variablen in der Init-Box nicht mehr funktionieren, ist für mich nicht Grund genug den Fix beizubehalten.


    Außerdem waren lokale Variablen nicht "ausversehen" durch CBA möglich. Siehe: Improve initbox by commy2 · Pull Request #612 · CBATeam/CBA_A3 · GitHub


    Ich zitiere mich selbst:

    optionally removes code validation which enables using local variables and return values