Helikopter führt Wegpunkte nur ungenau aus

  • Hallo Leute,
    Ich habe das Problem, dass ich einem Helikopter einen Wegpunkt (Move) zuweise, dieser ihn aber nur sehr ungenau ausführt.
    So gebe ich ihm Beispielsweise die Anweisung er soll sich auf meine Position (player) begeben, aber er bleibt ein gutes Stück (~10-20m) vor mir in der Luft stehen und weitere Befehle sich doch bitte an diese Stelle zu bewegen ignoriert.
    Hat jemand eine Idee, wie man den Heli doch noch zur korrekten Ausführung seiner Befehle bringen kann?
    Gibt es evtl eine Möglichkeit das Flugverhalten des Helis "hardcoded" festzulegen, also den Helikopter bewegen lassen, ohne das Ganze der ArmA KI zu überlassen?


    MFG Raven

  • Hi Raven,


    willst du die Position exakt setzen ist

    PHP
    1. _heli setPos (getPos player);


    der richtige Befehl. Da "springt" der Helikopter allerdings durch die Luft.
    Um eine KI-Einheit zu bewegen kannst du mit

    PHP
    1. (group _heli) move (getPos player);


    einen "Bewegen"-Wegpunkt erzeugen. Beachte der der Helikopter lokal sein muss damit dies funktioniert!
    Alternativ gibt es noch:

    PHP
    1. _heli doMove (getPos player);


    Auch hier muss der Helikopter lokal sein. Hier werden keine Radiomeldungen ausgegeben. Nachteil ist: die Einheit bewegt sich nach Erreichen der Position zurück in die Formation der Gruppe.


    Als nächste Alternative gibt es da noch setDestination. Damit habe ich allerdings noch nie etwas gemacht, daher kann ich dir kein Beispiel geben. Am besten probierst du mal ein paar Argumente aus.


    Evtl liegt dein Problem auch daran, dass du als Zielposition, die Position deines Spieler angibst, die in der Regel am Boden ist. Damit der Helikopter genau über dir schwebt solltest du natürlich ein Position in ausreichender Höhe über dir angeben.


    Sollte dir das alles nicht helfen, wären ein paar mehr Details zu deinem Vorhaben hilfreich (evtl auch ein paar Codezeilen).

  • Erstmal danke für deine schnelle Hilfe :D
    Das mit den Wegpunkten hatte ich immer über "addWaypoint" gemacht..."doMove" und "move" hatten aber genau den gleichen Effekt: Ser Heli blieb beide Male in einer Entfernung von [26,44] von der Position stehen.
    Mit setPos klappt es wunderbar, aber ich schreibe ein Script, das dafür sorgen soll, dass der Heli ein bestimmtes Objekt verfolgt und dann in bestimmtem Abstand hinterher/vornedraus/nebendran fliegt deswegen sollte er schon da hinfliegen und nicht einfach aufploppen.
    Das mit dem "setDestination" sieht doch aber mal vielversprechend aus...Damit werde ich mich malgenauer beschäftigen :)


    Ich lass wieder von mir hören, wenns klappt oder ich wieder am Verzweifeln bin :P


    MFG Raven

  • Also für alle, dies interessiert:
    Momentan bin ich dran die KI so nah wie sie eben will ans Ziel ranfliegen zu lassen und dann den Rest des Fluges manuell mithilfe der Funktion setPitchBank (https://community.bistudio.com/wiki/BIS_fnc_setPitchBank) oder aber mit setVelocity (https://community.bistudio.com/wiki/setVelocity) zu übernhemen bis der Heli da steht wo er sein soll...
    Sobald ich da ne vernünftige Möglichkeit gefunden hab lass ichs euch wissen :)


    MFG Raven