Arma 3 Addaction / Detach

  • Im Rahmen einer Sealmission war es die Aufgabe "getarnt" über eine Handelsroute bei einer Inselanzulanden.

    Hierzu habe ich den (Fisch) Trawler, welche als statisches Schiff in so manchem Hafen dahin rostet, zunächst fahrbereit gemacht.

    Anschließend wurden 4 sdv`s (Miniuboote) am Rumpf des Trawlers "befestigt".


    Wie macht man das ?

    Ich kann nur sagen, wie ich das gelöst habe...


    Ich habe mir ein ziviles Schiff genommen - Classname "C_Boat_Transport_02_F" und den besagten Trawler "C_Boat_Civil_04_F ".


    Benannt wurde der Trawler unter Variablenname trawler_1 .

    In die Initzeile des Trawlers kam hier folgender Eintrag:

    Code
    1. this allowDamage false;
    2. this attachTo [zivboot_1, [-1, -0.7, 4] ];


    Für das zivile Boot, Variablename zivboot_1

    In die Initzeile

    Code
    1. this allowdamage false;

    Dann wurde dem zivilem Boot ganz normal die zu fahrende Wegroute vorgegeben mit normaler Geschwindigkeit mit einem Wegpunkt der Wiederholung der Route.

    PS: Das wurde mehrfach wiederholt um eine Handelsroute mit mehreren fahrenden Schiffen zu simulieren (Immersion halt) .


    Nun wurden die 4 sdv`s am Trawler befestigt.

    Variablenname der Uboote sdv_1 bis sdv_4


    sdv_1 Initzeile

    Code
    1. this attachTo [trawler_1, [5.4, 5, -5]];


    sdv_2 Initzeile

    Code
    1. this attachTo [trawler_1, [5.4, -4, -5]];

    sdv_3 Initzeile

    Code
    1. this attachTo [trawler_1, [-5.7, 2, -5]];

    sdv_4 Initzeile

    Code
    1. this attachTo [trawler_1, [-5.7, -6.5, -5]];


    Nun kommen wir zum Addaction Bereich, denn die Spieler sollen sich während der Fahrt auch vom Trawler abkoppeln können um dann sich ihrem Ziel widmen, während der Trawler seine Runden dreht. Der Addaction Befehl erscheint, wenn man sich in das Uboot setzt. Für den Fall der Kollisonsprobleme in Arma wird hier mit dem setDamage Befehl gearbeitet um sicherzustellen, das die Uboote nicht beschädigt werden können ...bis zur Entriegelung natürlich :)


    Bei mir nennt sich die Datei dafür GT_addaction.sqf und ist wie folgt aufgebaut:


    Der Aufruf der GT_addaction.sqf erfolgt in der init.sqf

    Code
    1. call compile preprocessFileLineNumbers "GT_addactions.sqf";