Jump to content

sunski34

Members
  • Posts

    753
  • Joined

  • Last visited

Everything posted by sunski34

  1. Humm... poptask not sure, but I will to reset task even if the previous was finished. I will see
  2. Hi, I created a JTAC to priorise targets groups in a DCS zone (simple circle). Two groups to engage, so first setTask with good params, That works with F10/F9 (in M2000C). Lasing is good, When first group is destroyed, new setTask (after a delay of 3 seconds) for the second group of targets. F10/F9 menu and 9-line still ok. But Jtac still lase the last destroyed unit. This script works a few months ago. Is there a change? or a new bug? Thanks
  3. Hi, when in MP, host doesn't receive events StartEngine and StopEngine for the remote clients. Ok for the host client. Thanks
  4. Je t ai répondu par mail, bug que j'espère corrigé dans la version en cours de travail WIP5.
  5. Les coordonnées sur vecteur3D sont celles de dcs, voir ici https://wiki.hoggitworld.com/view/File:Pos3_illustration2.jpg Mais il existe la possibilité de se mettre dans le repère d'une unité avec deux fonctions ATME : ATME.coordLocalToDCS ATME.coordDCSToLocal
  6. Pour l'instant je n'ai pas du tout regarder l'aspect prédicate qui doit effectivement être intéressant. Avant de me lancer, je dois finaliser les autres points en cours et analyser la cohérence avec l'éditeur de mission sur ce sujet. Ceci étant les fonctions find de C_Group sont globlaes, donc avec quelques tests bien mis, le prédicate devrait marcher. La ou je suis plus circonspect, c'est pour les instances d'objets.
  7. Pour CougarFFW04 : Je t'ai envoyé un mail avec les missions et la WIP. Fais moi un retour par mail.
  8. Finalement, il y aura deux niveaux pour la callback, soit 1 appel par groupe soit un appel par unité avec respectivement en paramètre le groupe ou l'unité.
  9. Attention cependant, concernant la gestion des tâches, DCS a évolué depuis le moment ou j'ai implémenté les fonctions.... La fonction setTask écrase toutes les tâches en cours y compris la mission donc les WP attribués. Il faut donc utiliser pushTask pour ne pas écraser la mission en cours. Ces deux fonctions sont dans la classe ATME.C_Task
  10. Après tests, startCondition ne fonctionne pas donc seul stopCondition est bon. Je modifie en conséquence le code.
  11. Ok c'est fait dans la version en Work In Progress, mais j'ai renommé ... le get.... devient find... pour ces fonctions et j'ai ajouté la possibilité de mettre une callback qui sera appelée pour chaque unité trouvée (addFindGroupsCallback). La callback pourra être modifiée quand on veut, ou remise à nil par removeFindGroupsCallback. Elle prendra deux paramètres, le groupe et l'unité. A suivre pour la release.
  12. Je viens de regarder... mon code et la doc, mais attention, je n'ai pas fait beaucoup de tests. Je vais en refaire pour m'assurer du bon fonctionnement, notamment startCondition. Ce qui est sur c'est que la structure nécessaire à la gestion DCS de la tâche est bien renseignée. Il existe deux cas startCondition et stopCondition mais seul stopCondition est défini dans la wiki. Des tests m'ont montré qu'il existait aussi startCondition. Pour les deux cas c'est une tâche spéciale nommée "ControlledTask" qui englobe donc une tache et les conditions start ou stop. Les formats possible sont (un choix à faire parmi les 3) pour l'activation startCondition ou stopCondition : Si on veut activation sur une heure : "TIME xxx" avec xxx une heure absolue ou relative Si on veut activtion sur un flag : "FLAG flg" avec flg nom du flag qui doit être activé Si on veut activation sur un waypoint : "WAYPOINT numWP" Je mettrai la doc à jour après quelques vérifications à faire. voici le lien Wiki DCS si intéressé : https://wiki.hoggitworld.com/view/DCS_Scripting_orig_Part_2, rechercher "ControlledTask" A+
  13. 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+
  14. 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+
  15. Salut, la même mécanique est utilisée pour les fonctions de classe getGroupsInAreaForAll par exemple, classe ATME.C_Group Aussi, creer deux fonctions nouvelles getGroupsInSphereForAll et getGroupsInSphereForCoalition est faisable oui. Je retiens l'idée pour la prochaine version. En attendant tu peux utiliser ton code, et dans ce cas, seule la fonction mist.getLeadPos doit pouvoir etre remplacée pour ne pas utiliser mist. A+
  16. Exact, un manque dans la documentation. Je vais compléter ce point ce WE. A+ Sunski
  17. A réfléchir, je note l'idée... Sunski
  18. Non ce n'est pas une sphère, mais un disque, comme dans l'éditeur de mission. Et donc le tracking se base sur la position dynamique associée de l'objet liée. Si tu veux une sphère, il existe une fonction isInSphere dans ATME.C_Group, qui va retourner true ou false, mais à gérer soi même. Tu as aussi isNear qui est un cylindre, même principe. Tu peux voir si tous les groupe est in ou au moins une unité du groupe. Voir la doc pour plus d'infos Espérant avoir été clair. A+ Sunski
  19. Oui, la classe C_IndexList permet de gérer de s'assurer qu'un index ne change pas. Exemple : Si après un insert, l'index de l'objet est 3, si l'objet 2 est supprimé, l'index restera 3 et l'index 2 est libre pour une utilisation ultérieure. Elle permet donc ainsi que gérer des listes indexées dont l'index est fixe même après une suppression tout en pouvant réassigner les "trous" dans la liste lors d'un prochain insert. Cette classe de par sa conception n'a pas besoin de fonction de tri. Pour trier, il faut effectivement copier dans une autre table et trié en fonction du contenu. A+
  20. Salut, je vois que tu as vu mon mail. Oui je viens de tester, tu avais bien un soucis d'init dans ton code, je viens de tester dans DCS et j'ai bien nSeadPlanes à nil. Donc oui un pb à la .... en ligne 143
  21. Ok... Je ne suis pas sur que celà change grand chose, mais bon. Peut etre si tu respawn.
  22. Il doit y avoir un soucis collatéral je pense.... Mais je ne pense pas que celà vienne du getCount()
  23. RAS avec mon petit test, deux stacks, copie comme toi en variable locale, et une qui s'incrémente avec des strings. Exemple joint (je viens de remettre la 147 à l'intérieur car c'était une version 148WIP) dans l'exemple antérieur ATME_Stack.lua ATME_Stack.miz
  24. Non... Le constructeur retourne le stack et une variable interne locale nbItems est initialisée à 0 dans ce constructeur. Essaie dejà d'afficher à l'écran le getCount.... pour voir... Par acquis de conscience je vais créer une mini mission pour voir mais là je ne vois pas ce qui pourrait poser pb.
×
×
  • Create New...