

sunski34
Members-
Posts
753 -
Joined
-
Last visited
Content Type
Profiles
Forums
Events
Everything posted by sunski34
-
Even if active program is CCIP ?
-
Actually, with last update, Moving map is just visible on AMPCD. If you set HSI on left DDI, then MAP ON/OFF, it appears (desapears) for AMPCD). Bug or correct implementation?
-
Hi, When select a WP as target on HSI, if you program CCIP mode for bombing, then HUD indicates AUTO and you are in CCRP mode. Strange. Is that normal?
-
[REPORTED ALREADY] John C Stennis Blast Deflectors - MP
sunski34 replied to Highwayman-Ed's topic in Object Bugs
Another pb in MP, only host player can see the JDB goes up and down (its own JDB and clients ones), but not client players. After changing slots, (once or twice I don't remember), even host player can't see anything. -
MAYDAY : installer mods utilisateurs SANS (ou avec) JSGME
sunski34 replied to Zobby Lamouche's topic in Français
Oui le problème est que tous les cas ne sont pas encore gérés, je pense notamment aux input pour les controleurs de jeux si l'on modifiie les fichiers lua d'origine. En effet, dans ce cas, pas le choix il faut l'installer dans le répertoire d'origine de DCS... pour l'instant. A+ Sunski. -
Salut, tu t'attaques à un gros morceau là... Le plus compliqué va être de créer toutes les données en lua pour gérer tes cas. Pour avoir un code simple, il faut prédéfinir les menus etc... avec des fonctions. J'ai déjà fait ce type de mission notamment pour de l'entrainement AA avec des bandits de différentes configurations. Par ailleurs qu'entends tu par plans de vol? Utilises tu des WPs ? Si oui, pour l'instant, il n'est pas possible de changer les WP une fois dans l'avion comme on peut le faire pour une AI. En fait, je n'ai pas testé, je regarderai ce que ca donne et si ca marche je l'autoriserai mais je n'ai aucune certitude à cette heure. En dehors de ce point, ce n'est pas insurmontable, mais ca demande un peu d'apprentissage, je pense que pour débuter tu vises haut. Il vaut mieux commencer par créer des choses simples en lua pour comprendre les bases, ensuite tu pourras te lancer dans des missions plus complexes. Tu dois comprendre le code de la mission d'entrainement A/A pour comprendre le fonctionnement de ce type d'approche. En multi avec des triggers, je pense que c'est abominable... C'est d'ailleurs pour celà que j'ai créé ATME, j'avais les mêmes soucis, mais je maitrise le code informatique. Je peux t'aider, bien sur, mais il faut que tu avances étape par étape. Aussi, prends les exemples "Manual examples" pour voir comment créer un menus, un timer etc.... Une fois compris, vois alors cette mission d'entrainement AI. Si tu as des incompréhensions sur le code de cette mission, je pourrai te le détailler, voir si tu veux échanger via discord why not mais je ne suis dispo que les WE pour te faire un petit cours en attendant que je fasse mes vidéos de formations... Vois aussi avec snowsniper ici sur le forum, il a fait un module intermédiaire qui gère déjà pas mal de trucs avec une notion de mini missions à l'intérieur d'une mission. C'est un module générique ATME qui peut te simplfier la vie sur un projet comme ca. Mais je ne sais pas s'il l'a déjà publié meme si les derniers tests étaient concluants ;) Bon courage
-
Le lien youtube :
-
Bonjour, voici une petite procédure de démarrage, que j'ai essayé d'avoir complète au regard d'une vidéo vue sur Youtube. Elle est au format Kneeboard. A+
-
Ok I understood... I bind Radar antenna elevation on an analog axis control... and that is strange... that don't change the position of the antenna but the speed movement of antenna.... Mine looked completly down ;)
-
Yes perhaps, but if you bank 15/30° or climb 5/10°, you can see the change.... It's strange.... and those gimbal limits seem to be larger than what I see on screen...
-
Hi, When banking or climbing/diving, vertical line changes its scanning position on screen. For example, if set to 140, when horizontal, the vertical line goes from full left to full right and returns. If banking for example, the width of scan is smaller on screen.... Is there an explanation or is it a bug?
-
Hi, Here is a mod (using JSGME) to add STOP to IDLE and reverse for left and right engines if you have a Thrustmaster Warthog Throttle. You can find a new category named "Specific switch abstraction" in Control tab to bind your Warthog Throttle correctly (BTN 29 for Right engine and BTN 30 for left engine). I had a special bind for Master Arm : ARM Else SAFE too. Sunski FA-18C Input.zip
-
New functions in OB latest version (05/30/18)
sunski34 replied to sunski34's topic in Mission Editor
Thanks -
Hi, In changelog, : "Added scripting functions for airbase parking data (true/false parameter)." Can I have more explanations? Thanks in advance. Sunski
-
Salut, pour le prédicate, il était buggé en 1.5, donc j'avoue qu'à ce stade je n'ai pas creusé. Cependant, j'ai tendance à penser que le fonctionnement est identique au lancement d'un script dans un trigger (je parle d'un script direct et non d'un fichier script). Aussi, si tu as des variables ou des fonctions globales, je pense que ca devrait marcher avec les prédicates, mais c'est à vérifier. A+
-
[REPORTED] External drop tanks don't refuel during A-A refueling
sunski34 replied to YoYo's topic in General Bugs
Hi, any news ? Not in changelog so :mad: -
Salut, effectivement, je ne répondrai ni sur MIST ni sur l'utilisation d'un predicate car ce n'est pas lié à ATME. Pour ce qui est du respawn après parking dans ATME, il n'y a pas de fonction à proprement parler qui fasse tout. Par contre , tu vas trouver dans "Other examples.zip" (dispo en téléchargement) une mission avec le fichier lua qui va bien qui déclenche une destruction et un auto respawn à partir d'un menu. Il s'agit de ATME_direct_menu_spawn_destroy.lua. Regarde lignes 35 à 40, copyPlane0 est le nom du groupe, ici celui de ton tanker. local group = ATME.C_Group.getByName("copyPlane0") group:setAutoRespawn() if group ~= nil then -- If exists, disable group ... group:disable() end Je vois d'ailleurs un petite coquille dans mon exemple car group peut etre nil et donc group:setAutoRespawn peut engendrer une erreur, il faut que cette ligne soit dans le test if group ~= nil. Ceci étant, on fixe un autorespawn (dans ce cas, le groupe est regénéré automatiquement à sa destruction), tu peux même passer un paramètre de temps de regénération voir ligne 18 : group:setAutoRespawn("RANDOM 1 00:00:04") Ici on attend entre 1 et 4 secondes avant l'auto respawn, voir doc pour plus de détail. En ensuite, on detruit le groupe inutile par disable Pour déclencher ce traitement, tu peux te baser sur l'atterrisage du tanker avec onLandingAIUnitHandler ou effectivement onEngineStopAIUnitHandler de la classe ATME.C_Module, voir dans le doc p207 pour les paramètres acceptés par ces fonctions. si on reprend l'exemple, tu verras lignes 109 à 134 la définition des handlers, il faut associer une fonction conforme aux paramétres attendus à l'entrée équivalente (en gras ci dessous, remplacer le nil par ta fonction avec les bons paramètres), tu peux t'inspirer de onSpawn par exemple. local newHandlers = { onCreatePlayerHandler = onCreatePlayer, onDeletePlayerHandler = nil, onUpdatePlayerHandler = onUpdatePlayer, onTakeoffPlayerHandler = nil, onLandingPlayerHandler = nil, onStartEnginePlayerHandler = nil, onStopEnginePlayerHandler = nil, onCreateAIUnitHandler = nil, onDeleteAIUnitHandler = nil, onDisableAIUnitHandler = nil, onTakeoffAIUnitHandler = nil, [b]onLandingAIUnitHandler = nil,[/b] onStartEngineAIUnitHandler = nil, [b]onStopEngineAIUnitHandler = nil,[/b] onCreateGroupHandler = nil, onSpawnGroupHandler = onSpawn, onDeleteGroupHandler = nil, onDisableGroupHandler = nil, onCreateStaticObjectHandler = nil, onDeleteStaticObjectHandler = nil, onTimerHandler = nil, onModuleStartHandler = onStart, } Enfin, si tu veux que ton tanker soit regénéré aussi après destruction, il te faut mettre le group:setAutoRespawn dans le handler onCreateGroupHandler, en testant le nom du groupe bien sur pour faire l'action. Conclusion : Se fait en 5 lignes de code dans ATME. Après tu peux améliorer en ajoutant une alarme pour lancer ce traitement après un certain temps ce qui laisserait le temps (voir pour celà les exemples dans "Manual examples" traitant des alarmes). Ca rajoute une ligne et une fonction. Tu as un readme des exemples dans "Manual Examples.zip". Attention cependant, il faudra vérifier qu'après l'arrêt moteur, le groupe est toujours actif dans DCS, il me semble qu'il est remplacé par un statique. Si c'est le cas, il faudra utiliser une autre méthode un peu plus compliquée, ou bien faire l'action immédiatement sans délai si fait sur arrêt moteur. Enjoy ATME ;) Sunski
-
Bonjour, Attention, précision : dans la 1.4.4, je parle de core event pour détecter la fin de mission. En fait, il y a une coquille. La version 1.4.4 gère un handler onEndMissionHandler. J'ai corrigé le texte où se trouve le téléchargement. Sunski
-
Voilà, le thread a été créé : https://forums.eagle.ru/showthread.php?p=3492015#post3492015
-
Bonjour à tous, je crée ce jour ce thread qui regroupera l'ensemble des remontées utilisateurs, bugs, remarques ou demandes d'aide. Enjoy ATME ;) Sunski34
-
Bonjour, la doc est le manuel de référence, aussi sa vocation n'est pas de donner des exemples sauf si c'est vraiment nécessaire mais de lister toutes les fonctions et leur utilisation. Je dois encore rédiger un manuel d'utilisation, qui existe dans une vieille version, mais qui n'est plus trop à jour. C'est un gros travail qui prendra un peu de temps. Par contre, tu trouveras justement des exemples la plupart simples dans le zip "Manual examples" et d'autres dans "Other examples" qui t'aideront à démarrer. Concernant les posts que ce soit bug ou autre, tu en as un en anglais : https://forums.eagle.ru/showthread.php?p=3001625#post3001625 Sinon, pour ce faire en français, je vais créer le thread. Bonne idée ;) Comme tu le dis, ATME est un Framework, son but est donc de se mettre entre les DCS scriptings functions et les modules développés par les utilisateurs. Même s'il est donc possible d'utiliser directement les DCS scripting functions, ATME dispose de ses propres fonctions qui les encapsulent. Donc oui, inAir c'est la même chose. Mais dans d'autres cas, tu as des fonctions plus complexes comme setRoute. Celle ci s'appuie aussi sur les DCS scripting functions mais offre une approche bien plus simple, notamment lors de spawn d'unités en gérant des temps d'attente nécessaires au bon fonctionnement de la prise en compte de la nouvelle route. Il faut savoir en effet que dans certains cas, il faut gérer des timers. C'est là l'intérêt d'ATME, setRoute seule remplace quelques dizaines de lignes de code lua avec les DCS scripting functions. Il y a beaucoup d'autres cas. Enfin, pour la gestion des erreurs, ATME apporte des fonctions, tout est renseigné dans le log DCS, et en cas d'erreur fatale, le numéro de ligne est indiqué ainsi que le module et l'erreur. A+
-
Salut, C'est une question qui m'est souvent posée. Mist est bien plus proche des scripting functions de base. MOOSE est un gros truc, je n'ai pas trop creusé, mais celà ne me convenait pas ATME est en fait entre les deux. Il permet surtout de gérer sans difficulté le multi joueur avec une gestion poussée et ce sans beaucoup de ligne de code pour des missions moyennement complexe. ATME permet une gestion en module, ce que n'offre ni MOOSE ni script, ces modules s'empilant les uns aux autres. Ce qui permet de réutiliser du code si souhaité, comme le cas du module rescue que j'ai écrit. Enfin, des fonctions complexes qui demandent des gestions de délai ou autre avec Mist se limitent à une ligne de code avec ATME.... Et surtout, il est francais ;) ... Rire Si tu as besoin d'aide, n'hésite pas. A+