Config Scripting

  • Salve,
    Ich hatte mich jetz schon 2 Wochen lang mit SQF befasst,
    kann C++ Grundlagen im groben deswegen hatte ich mit SQF nie irgendwo Probleme.
    Zu den Config schreiben hätte ich paar kleine Fragen:
    -> 1. Gibt es außer den BI Seiten, gute Seiten wo es genauer erklärt ist. Hab bis jetz nur Tuts von Arma Modden Allgemein gefunden.
    -> 2. Gibt es andere Wichtige dinge außer SQF, mit dennen man sich vor den reinen Config Scripting auseinandersetzen sollte?
    -> 3. Wie geht man am besten vor, alles nacheinander selbst schreiben was benötigt wird oder fertige Config Dateien anpassen(die aus \Arma 3 Tools\Samples_F zb.).


    Lg Wirbelwind

  • hey Wirblewind


    hmm Config schreiben von ArmA ist meiner meinung nach einer der beschissenesten sachen die es in arma gibt. jedoch nennt man es nicht Config Scripten sondern "schreiben" weil Configs haben noch so gut wie garnichts mit scripten zu tun sondern sogar ehr mit Werte zuweisung. das heißst es gibt so gut wie keine berechnung in Configs.


    Zu 1. kann man nur sagen es gibt immer irgendwo man im netz was verteilt und das BI Wiki kann man da auch fast schon vergessen da da sehr viele sachen drinne stehen die leider nicht richtig sind oder nur sehr dürftig erklärt sind.


    2. Eigendlich sollte brauch man absolut nicht SQF um mit Config zu arbeiten zu können. Denn in Configs werden meist nur Werte zu gewiesen die dann entweder Per SQF ausgelesen werden können oder die von der Engine benötigt werden.


    zu 3. Da ArmA nur sehr wenige fälle abdeckt in ihren Samples_f muss man immer schauen was man machen will z.b. ein selbst modeliert es Fahrzeug braucht meist andere config einträge als ein das in den samples enthalten ist.


    und zu der frage was man noch brauch: Grundlagen in Tschechisch da viele config von vorallem Model Config einträge noch Tschechisch sind. Es gibt zwar ne "Liste" wo einiges drinne übersetzt ist jedoch nicht alles.(oder einfach google Übersetzter und nen bischen Interpretations fähigkeit)


    und Zwischen C++ und SQF bestehen sehr größe unterschiede wie du da keine probleme hast ist echt zubewundern ich komme andauernt durcheinander :11_unknown:.



    Edit:
    Beispiel für Werte abgreifen aus der Config

    PHP
    1. if (getText(ConfigFile >> "CfgPatches" >> "ACE_Main") == "") then {
    2. Hint "You Play With ACE 3";
    3. }else{
    4. Hint "You Play Witout ACE 3";
    5. };


    dieses wird z.b. genutzt für ACE/AGM für das ActionMenü

  • und Zwischen C++ und SQF bestehen sehr größe unterschiede wie du da keine probleme hast ist echt zubewundern ich komme andauernt durcheinander :11_unknown:.


    ja, bis auf die zwischenwörter wie then, do usw. weglassen. und paar Klammerarten bei bestimmten fällen, sonst geht das doch oder wo hast du da probleme? ^^


    Danke dir für die Antwort.
    Mir wurde gesagt, das ich erstmal mit SQF anfangen sollte, deswegen hab ich das erstmal gemacht.

  • ja, bis auf die zwischenwörter wie then, do usw. weglassen. und paar Klammerarten bei bestimmten fällen, sonst geht das doch oder wo hast du da probleme? ^^


    und die Inkonsistenz in SQF d.h. "getpos player" und "player getVariable "bla"" damit hast du es schon ganz gut erfasst warum ich immer schussel fehler drinne habe

  • Um ne Config zu schreiben braucht man meines Erachtens keine Ahnung von SQF.


    Es reichen eigentlich die Config References von BI und die VBS-Referenz falls du mal zu einem Eintrag nicht findest, was er bedeutet.


    Ich hab es mir beigebracht gehabt, indem ich mir viele Configs angeschaut habe und gesehen habe, wie andere Modder das gelöst haben. Da sieht man vieles, gute sowie auch schlechte Configs.
    Als Beispiele für gute: RHS, ASDGJR, ACE3, BWA3(ab V1.2) ... Schlechte: TFA, BWA3(V1.1), fast jeder kleine Mod


    Es gibt an für sich nur 2 Regeln für ne gute Config: 1. Vererben und 2. Bei Bedarf Basisklasse erstellen.



    Edit:
    Fast vergessen: Wenn du immer wieder ähnliche Sachen schreiben musst, schau dir doch einfach mal an, wie man Makros erstellt und nutzt.

  • ich würde sagen das man CBA zu guten noch hinzufügen kann und Leights Opfor Pack zu den schlechten(wenn nicht sogar zu anschauen um zu sehen wie man es nicht macht)


    Edit: und noch eine Referenz wo man eigendlich ne ganz gute übersicht von vererbung bekommt ist diese hier: http://madbull.arma.free.fr/A3…746_CfgVehicles_tree.html
    sie ist zwar schon etwas veraltet(1.20) aber immer noch ausreichend

  • Wo du das von Madbull erwähnst, da fällt mir doch direkt ein, dass es ja von der Vanilla 1.38 auch die komplette Config als Download gibt. Klick mich an. (Ist aus der CMB)


    EDIT: Bei mir funktioniert der Link zwar, aber ich verlinke einfach zusätzlich noch einmal eine Ebene darüber: http://dev.withsix.com/project…ow/configs/A3/unformatted
    Die Datei ist "cfgAmmoMagWepVeh.cpp"

  • Wo du das von Madbull erwähnst, da fällt mir doch direkt ein, dass es ja von der Vanilla 1.38 auch die komplette Config als Download gibt. Klick mich an. (Ist aus der CMB)


    der Link fürt ins leere da ist nichts hinter legt bitte noch mal prüfen


  • Ich hab es mir beigebracht gehabt, indem ich mir viele Configs angeschaut habe und gesehen habe, wie andere Modder das gelöst haben. Da sieht man vieles, gute sowie auch schlechte Configs.
    Als Beispiele für gute: RHS, ASDGJR, ACE3, ... Schlechte: TFA, BWA3, fast jeder kleine Mod


    Zur Rettung meiner Ehre muss ich sagen, dass die überarbeiteten Konfigs für die kommende Version 1.2 wesentlich besser sind. (Man lernt halt dazu in den Jahren mittlerweile.)
    Außerdem sind sie unbinarisiert und öffentlich zugänglich.


    https://git.koffeinflummi.de/b…m/bwa3-public/tree/master

  • Ich habe es jetz soweit das ich ein eigenes Item im Editor Platzieren kann und aufnehmmen.
    Jetz wöllte ich es auch gern im Arsenal verfügbar haben, das man es unter "Verschiedene Gegenstände" Hintzufügen kann.
    Dort wo es MinenDetektor, Werkzeugkasten ect.. gibt.


    Zb. mit type=401(Medickit) kann ich dann mit meinen Item Menschen Heilen was ich aber nicht will.
    Kann man die Funktion Deaktevieren bzw. gibt es eine vollständige "Type ID" Liste damit ich mir die richtige ID raussuchen kann?

  • Das ist eine brilliante Frage! Es geht leider nicht, oder nicht 100%ig fehlerfrei. Alle Items die unter dem "Misc. Items" Tab angezeigt werden, haben solche Nebeneffekte.
    Issue: http://feedback.arma3.com/view.php?id=23925


    Die einzige Möglichkeit die ich gefunden habe ist ein Minendetektor ohne "detect range".
    https://github.com/acemod/ACE3…mmon/CfgWeapons.hpp#L3-L8


    Allerdings haben dann deine Gegenstände den gleichen Fehler wie der Mine Detector:
    http://feedback.arma3.com/view.php?id=20997


    Und außerdem funktioniert der Mine Detektor dann selber unter gewissen Umständen nicht mehr:
    http://feedback.arma3.com/view.php?id=23926

  • eine vollständige liste der item typen
    und als nächstes willst du wohl das überall flüsse aus bier fließen


    tatsächlich muss ich commy2 hier beipflichten
    die einzige möglichkeit momentan items ohne funktion hinzu zu fügen ist mithilfe des minen detektors

    Code
    1. class CfgWeapons {
    2. class ItemCore;
    3. class x39_itemcore: ItemCore {
    4. type = 4;
    5. simulation = "ItemMineDetector";
    6. detectRange = -1;
    7. };
    8. };



    ein klassischer fall von BI hat versagt btw.

  • Dachte ich mir schon, das es ohne weiteres nicht geht.


    "und als nächstes willst du wohl das überall flüsse aus bier fließen"
    Wir leben in Deutschland da ist alles Möglich, schau dir einfach mal die Politiker an :wacko:


    Danke an euch beiden für die Antwort.
    Lg Wirbelwind

  • Wirbelwind, eigentlich kannst du das Configschreiben durch "learning by doing" erlernen. Schau dir andere Configs an und versuche zu verstehen, was die da machen.
    Wichtig ist eigentlich das du verstehst, dass 99% der Objekte von Basisklassen abgleitet werden die ArmA bereits kennt.


    Zum animieren von Türen, Reifen etc pp benötigst du eine model.cfg. Das ist bissel tricky, weil die beim Binarisieren "verschwindet" und du die nicht mehr auslesen kannst. Mondkalb hat mal ein nettes Tut veröffentlicht. Der geht auch auf die Animationenen ein. Ansonsten die Sampel_F Datei.


    Configs sind nicht so schwer, außer du willst sofort mit Funktionen und Modulen loslegen. Das benötigt bissel Erfahrung. Viel schwieriger wird später ein gutes Model zu erstellen und die Grafi darauf zu legen.