Koordinaten bei AI Spawn werden nicht eingehalten... need Help :-)

  • Sonstiges

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Koordinaten bei AI Spawn werden nicht eingehalten... need Help :-)

    Hi Leute,

    ich hatte nun schon öfter das Problem, dass eine gespawnte AI nicht genau an der Stelle spawnt die ich angebe.

    Quellcode

    1. _spawnpos = [[1858.143,8208.898,0.824], 0+(random 0), 269.058, "CAN_COLLIDE"] call BIS_fnc_relPos;
    2. My_Unit_1 = [_spawnpos , WEST, ["LIB_CIV_Functionary_2"]] call BIS_fnc_spawnGroup;
    3. {_x allowfleeing 0} forEach units My_Unit_1;

    In dem Fall wollte ich eine AI hinter einen Tresen stellen aber geklappt hat es nicht, sie spawnt immer vor statt hinter dem Tresen.
    In manchen Missionen setze ich die AI nach dem Spawnen nochmals auf die gewünschte Position, das sieht dann so aus:


    Quellcode

    1. My_Unit_1 setPos (getPos _spawnpos);
    Ich finde das aber etwas umständlich, gerade wenn man mehrere AI spawnt. Gibt es einen Weg eine AI direkt beim spawnen auf die Koordinaten hinzusetzen wo man sie auch haben will?


    Grüße Mind
  • Also soweit ich das sehe gibt es diese Möglichkeit nicht, wenn du die BIS Funktion verwendest (zumindest sehe ich keine Möglichkeit einen entsprechenden Parameter zu übergeben).

    Deswegen hast du im Prinzip zwei Möglichkeiten:
    1. Du schreibst eine Wrapper-Funktion, die automatisiert die Gruppe erstellt (via BIS_fnc_spawnGroup) und anschließend die Positionen neu setzt (via setPos)
    2. Du schreibst deine eigene spawn-Funktion, bei der du die Einheiten mit dem CAN_COLLIDE parameter spawnst
    Entwickler von SQDev
    Co-Entwickler von OurAltis
  • Danke sehr, das hat schon ziemlich weiter geholfen.


    Quellcode

    1. _grp = createGroup WEST;
    2. AI_Spawn_1 = _grp createUnit [ "LIB_CIV_Functionary_2", [1862.224,8208.783,0.806], [], 0, "CAN_COLLIDE"];
    3. AI_Spawn_1 setDir 253.602;
    Jetzt spawnt die AI genau dahin, wo sie auch soll.
    Nun gibt es aber ein weiteres Problemchen.

    Die AI spawnt in die Richtung, die ich mit setDir angegeben habe. Danach richtet sie sich aber selbstständig in eine andere Richtung aus.
    Von was kommt denn das?
  • Mind schrieb:

    Von was kommt denn das?
    Das kommt von ArmAs KI-Algorithmen, denn sobald die Einheit erstellt wird, wird sie sozusagen Teil des ArmA-Kollektivgehirns, das dann wohl in diesem Moment befindet, dass es klüger ist in eine andere Richtung zu schauen ^^

    Um das Ganze zu umgehen kannst du mal ein bisschen mit dem disableAI Befehl rum spielen, um Teile der KI auszuschalten. Im wiki findest du alle Komponenten gelistet, die deaktiviert werden können.
    Ich würde es als Erstes mal mit disableAI "TARGET" kombiniert mit disableAI "AUTOTARGET" versuchen. Um das zu finden was du brauchst wirst du halt wahrscheinlich n bisschen rumprobieren müssen. Wenn alles nichts hilft einfach mal mit disableAI "ALL" versuchen ;)

    Was du aber bedenken musst ist, dass du die KI wieder anschalten solltest (enableAI), sobald sie sich "normal verhalten" sollen (also zum Beispiel in ein Gefecht verwickelt werden), da sie sich sonst im zweifel verdammt blöd verhält ^^
    Entwickler von SQDev
    Co-Entwickler von OurAltis