Es steigen alles aus dem Fahrzeug aus.

  • Problemstellung :

    Ein Fz fährt an genau einen Punkt. An diesem Punkt müssen die Insassen aussteigen und an eine bestimmte Position gehen. An dieser Position müssen sie dann eine Haltung einnehmen und die auch halten.


    Für das Fahrzeug

    habe ich folgendes gemacht ;

    _Pointer =P1;

    sleep 1;

    hint "Pz_1 verschiebt zu T1";

    _Pz_1 doMove (position _Pointer);


    Dies funktioniert gut Fahrzeug tut was es soll.

    Für einen Soldaten lautet der Skript wie folgt:

    _Sdt1=Sdt_1;

    _Pz=Pz_1;

    _T1 = T1;

    _position = Pointer_2;

    _time = time;

    _endVerhalten = Areal_2;

    _Sdt1 leaveVehicle _Pz;

    _Sdt1 doMove (position _position);

    waitUntil {

    sleep 2;

    systemChat "check check";

    _Sdt1 inArea _endVerhalten || time - _time > 300;

    };

    if (!alive _Sdt1 || !(_Sdt1 inArea _endVerhalten)) exitWith {systemChat "Soldat nicht im Trigger";}; vergangen steigt das Skript hier aus

    _Sdt1 setunitpos "MIDDLE";

    _Sdt1 disableAI "PATH";


    (Dabei hate ich sehr starke Unterstützung von Pyro)


    Ich bringe es einfach nicht fertig das ich diesen Skript auf mehrere Personen kopieren kann. Wenn ich das mit verschiedenen Skripts probiere steigen dann alle aus, dies ist aber leider nicht das Ziel.

    Was währe da ein gangbarer weg für ein Skript dass die Soldaten anspricht und sozusagen positioniert.


    PS. habe die mir empfohlenen Video auf Youtube zu Gemüte geführt half mir aber in diesem Problem noch nicht weiter.

  • Ich konnte nun das Problem lösen und will die Lösung nicht vorenthalten vielleicht hat ja jemand das gleiche Problem und ist froh darum. Wenn jemand ideen oder Anregungen hat wie es einfacher zu schreiben ist nur her damit, ich bin gerne bereit mich belehren zu lassen. Sicherungskopie - Kopie.txt Ich habe den Skript auch beigelegt.



  • Bei deiner Variante prüft er erst Soldat 1, dann Soldat 2 und dann der grpfhr.

    Unter Umständen, wenn z. B. Tod oder Bein knickiknacki wartest du 5 Minuten bis die nächste Einheit geprüft wird. Ist das so gewollt?


    Was passiert, wenn die Leute die Position eingenommen haben? Ich meine damit deine 300 Sekunden.

    Was soll passieren, wenn der Bereich von allen oder einzelnen nicht erreichbar ist bzw. nicht erreicht wird?

    Wie hoch ist dein Auslöserbereich?

    Nutzt du Cba?

  • Die Bezeichnungen innerhalb der AI Gruppe kann man sich sparen. Einer ist immer Leader und der kann abgefragt werden. Wäre also egal, wenn der Leader der Gruppe gekillt wird, wird automatisch der nächste Leader. Der Rest folgt automatisch.


    Beispiel (wenn unbedingt erforderlich) um den aktuellen Gruppenführer abzugreifen

    Code
    1. _leader = (leader _Aigruppenbezeichung);


    und mit

    Code
    1. (units _AIgruppenbezeichnung) allowGetIn false;

    kegelt man alle aus dem Auto


    _wp1 = _AIgruppenbezeichnung addWaypoint [(getMarkerPos "marker_xyz", 0];

    _wp1 setWaypointType "MOVE";

    _wp1 setWaypointSpeed "NORMAL";

    _wp1 setWaypointBehaviour "AWARE";

    _wp1 setwaypointstatements ["true", "{_x enableAI "PATH"} forEach _units;"];

    [_AIgruppenbezeichnung, 2] setWaypointCompletionRadius 10;


    waituntril{_leader distance (getMarkPos "marker_xyz") < 10};

    _leader setUnitPos "Middle";


    so oder so ähnlich, wäre ich da rangegangen :)