Jump to content

ATME (1.47) : Waypoint ajout/switch


CougarFFW04

Recommended Posts

Hello,

 

Et bien voila c'est la question du jour... Et ca concerne les waypoints...

A priori ce que je cherche se trouve dans "Route".

Comme c'est un peu touffu cette partie et qu'il y a une fonction que je n'ai pas trouvé alors je pose directement la question.

 

Le probléme est le suivant: J'ai un vol IA qui décolle depuis une base (WPT0) puis part sur un WPT1 avant de revenir attérir (WPT2) sur la même base (mais peu importe).

 

- Comment faire avec ATME pour simplement insérer un nouveau WPT par exemple à la suite de WPT1 ?

 

- Les index des WPT suivants sont-ils simplement décallés ?

 

- Je ne trouve pas de fonction équivalante a la fonction DCS switchWaypoint (ou un truc comme ca, j'ai pas mon ancien code sous les yeux). Puis-je continuer a utiliser cette fonction DCS ou elle existe bien avec ATME mais je l'ai zappée ?

 

Merci d'avance

Link to comment
Share on other sites

Salut,

 

pour le premier sujet, créer une route aérienne :

 

Il faut d'abord ajouter un WP de décollage par la fonction addRampWaypoint ou addRampHotWaypoint, qui prend une instance de ATME.C_Airbase en paramètre

 

Ensuite tu peux ajouter x WP en vol avec addAbsoluteWaypoint ou addRelativeWaypoint. Cette dernière permet de se référer à une unité existante en distance et cap.

 

Enfin addLandingWaypoint avec comme paramètre une instance de C_Airbase.

 

 

 

Pour le second sujet, pas de fonction switchwaypoint à proprement parler mais il existe une fonction dans ATME.C_Group qui permet de faire des patrouilles (setPatrol) et qui s'appuie sur switchwaypoint pour les groupes aériens ou gotowaypoint pour les groupes au sol.

 

Il y a un exemple dans Other examples de mémoire sur ces sujets, y compris le démarrage retardé en utilisant start de la classe ATME.C_Group. Il y a cependant peut être encore l ancien format de fonction car je n'ai pas encore mis à jour.

 

A+


Edited by sunski34
Link to comment
Share on other sites

Salut,

 

Il faut d'abord ajouter un WP de décollage par la fonction addRampWaypoint ou addRampHotWaypoint, qui prend une instance de ATME.C_Airbase en paramètre

 

Ensuite tu peux ajouter x WP en vol avec addAbsoluteWaypoint ou addRelativeWaypoint. Cette dernière permet de se référer à une unité existante en distance et cap.

 

Enfin addLandingWaypoint avec comme paramètre une instance de C_Airbase.

 

OK. Je comprends bien le mécanisme et c'est bien ce que j'avais capté.

 

Mais donc si je comprends bien il n'y a pas moyen pour l'instant dans ATME a partir d'un plan de vol déjà existant, de simplement rajouter un WPT entre deux WPT choisis ?

 

Pourtant tout existe déjà pour le faire. Une autre chose qui pourrait être extrêmement pratique. Et donc je me demandais :smartass: si c'est le genre de possibilité que tu pourrais mettre en place dans version a venir d'ATME :music_whistling::music_whistling: :D:D Et je crois que c'est bien dans la philosophie ATME de proposer des choses clef en main pour alléger et simplifier les codes Lua de tout un chacun.

 

Et si tu as besoin d'un testeur pour ca, il est tout trouvé :thumbup:

 

Merci pour tout.


Edited by CougarFFW04
Link to comment
Share on other sites

Il n'est pas prévu de remplacer ou modifier un plan de vol existant pour l'instant, mais j'étudierai celà pour voir la pertinence au regard de ce qui existe.

 

En effet, il est possible de remplacer une route par une autre route en utilisant la fonction setRoute de ATME.C_Group. Celà devrait répondre au moins partiellement à ton besoin. Mais préalablement il faut recréer la nouvelle route. Il est possible de recopier les WP existants par recopie à partir d"un nom de groupe existant puis d'en ajouter par la fonction addWaypointsFrom de ATME.C_Route. Attention cependant, si le dernier WP est un WP de landing, celà ne fonctionnera pas, c'est une évolution prévue à venir également dans les prochaines versions.

 

A+


Edited by sunski34
Link to comment
Share on other sites

OK. Merci pour la réponse,

 

Je vais regarder ca d'un peu plus prés et voir comment je peux faire en attendant cette "hypothétique" fonction pour plus tard.

 

Je vois a peu près comment je pourrais faire... l'idée serait :

- je récupère le plan de vol existant,

- j'en cré un nouveau en recopiant un par un les WPT et en insérant le moment voulu celui qui m’intéresse,

- j'affecte ce nouveau plan de vol,

 

Dans le principe ca demande juste une itération sur les WPT...

Il y a juste ta remarque sur le dernier WPT qui me met qq doutes...

Mais bon je testerais et on verra.

 

++

Link to comment
Share on other sites

Bon alors j ai un peu regarde différentes pistes mais il y a toujours un petit truc qui coince.

A priori pas possible d intérêt sur la position des wpt d une route existante.

Je me suis alors mis en tête de créer le plan de vol de toute pièce en me disant que addUnitRelativePolarwaypoint serait parfait mais c est dans un repère lié à l orientation de l unité et donc il faudrait que je créer une unité bidon. Faisable mais pas optimale. Dommage qu' on ne puisse pas spécifier un point 2D avec un azimut absolu.

 

 

Bref pas concluait pour l instant mais je continue mes investigations.

Link to comment
Share on other sites

"Dommage qu' on ne puisse pas spécifier un point 2D avec un azimut absolu"

ben suffit que tu récupères l'azimut de l'unité de référence avec unit:getAzimuth()

après tu convertis le repère et tu auras un azimuth absolu

Usage : ATME.coordLocalToDCS(point, center, azimuth)

"Description : Cette fonction transforme un point donné dans le référentiel local défini par son centre

et son azimuth en un point 3D dans le référentiel de DCS (x,y,z)."

 

 i7-10700KF CPU  3.80GHz - 32 GO Ram - - nVidia RTX 2070 -  SSD Samsung EVO with LG  TV screen 40"  in 3840x2150 -  cockpit scale 1:1

- MS FFB2 Joystick  - COUGAR F16 throttle  - Saitek Pro Flight Rudder Pedals

 

Link to comment
Share on other sites

Hi SnowSniper,

 

Effectivement ca pourrait etre une bonne solution pour une alternative :thumbup:

 

Pour en revenir au coeur du problème, ca serait vraiment un gros travail de développement d'avoir une fonction qui pourrait insérer insérer un Waypoint entre deux waypoints d'un plan de vol existant ?

 

A nouveau j'explique pourquoi cette doléance: imaginons un plan de vol basique constitué d'un WPT0 (décollage), WPT1 (Push), WPT2 (atterrissage).

Quand le vol arrive au Push on lui injecte un WPT (Target) associé a un objectif aléatoire du scénario (ou choisi selon des règles plus élaborées peu importe) et la tache qui va bien... :pilotfly: Et BOUMMM

Lorsque le vol rentre il est remis en place : nouvelle cible... :pilotfly: Et BOUMM

:pilotfly: BOUMMM :pilotfly: BOUMMM

 

Facile à coder avec cette hypothétique nouvelle fonctionnalité ATME, hyper efficace et à ressource constante.

Link to comment
Share on other sites

je pense que si tu lui inject un settask attack 'sur une randomized target'. ou qu'il soit sur sa route il fera le detour si c'est à proximité.( par exemple settask associé à une détection de zone de proximité et tu n'as pas besoin de réinjecter un WP supplémentaire. non ?

 

 i7-10700KF CPU  3.80GHz - 32 GO Ram - - nVidia RTX 2070 -  SSD Samsung EVO with LG  TV screen 40"  in 3840x2150 -  cockpit scale 1:1

- MS FFB2 Joystick  - COUGAR F16 throttle  - Saitek Pro Flight Rudder Pedals

 

Link to comment
Share on other sites

je pense que si tu lui inject un settask attack 'sur une randomized target'. ou qu'il soit sur sa route il fera le detour si c'est à proximité.( par exemple settask associé à une détection de zone de proximité et tu n'as pas besoin de réinjecter un WP supplémentaire. non ?

Possible je n'ai pas testé mais dans ce que je fais les cibles sont potentiellement loin du waypoint Push.

 

 

Et puis surtout ce n'est pas ce que je veux faire. Les cibles sont affectées en fonction de certains critères et c'est donc bien sur un cible donnée, sélectionnée en temps réel que je veux envoyer le vol. D'ou la raison de ma demande.

 

 

++

Link to comment
Share on other sites

push task et non set task. tu as un parametre de position d'attaque qui peut être dynamique

 

 i7-10700KF CPU  3.80GHz - 32 GO Ram - - nVidia RTX 2070 -  SSD Samsung EVO with LG  TV screen 40"  in 3840x2150 -  cockpit scale 1:1

- MS FFB2 Joystick  - COUGAR F16 throttle  - Saitek Pro Flight Rudder Pedals

 

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...