Jump to content

sunski34

Members
  • Posts

    753
  • Joined

  • Last visited

Everything posted by sunski34

  1. Soon new capability for debugging your own modules Hi, we are actually nearly ready to release a new version of ATME in few days. Some new functions will appear like automatic multi spawn capabilities but the most interesting evolution is ATME debug capabilities. No need of heavy development environment. ATME is a single file (big of course), accepts multi module running at a same time, with maximum of security. You cannot directly change, by error, objects attributes or variables for example. I will do soon a short video to explain how to begin with ATME. When you run ATME, and an error occurs on ATME functions, you will be able to have all informations you need such as : -> Name of the module -> Line number -> Function which occurs errors, its usage and an explanation of the problem. You can see (in yellow on the image) those informations. So ATME become more and more easy, even when you do errors of coding... Then you know where (which module which line which function) and why there's an error. Enjoy ATME !!! Sunski
  2. Hi, the best way is to record tasks when setting them with controler. Regards Sunski
  3. Hi, please find new version of ATME_Core.lua which fixed a DCS scripting function problem with group:destroy(). link here : https://forums.eagle.ru/showthread.php?p=3001608#post3001608 Thanks to SUNTSAG and his question ;) Attach new version of the tests to respawn the same group "copy0" with F10 menu, can work in multiplayer mode just by adding players. As you can see, it's easy to create a menu and its function, then spawn and destroy the same group "copy0". Of course a little knowledge of lua is necessary... and the understanding of ATME callback concept. Try and enjoy ATME Sunski test menu spawn and destroy.miz ATME_menu_spawn_destroy.lua
  4. La documentation a été mise à jour ici : https://forums.eagle.ru/showthread.php?t=179992
  5. ATME documentation has been updated. See above for download.
  6. Only when patch V1.0.4 will be released : explanations So a short explanation.... when the patch will be released (V104) : -> A group has a unique name at a moment -> If you try to spawn a group with same name as an existing group (alive), then ATME spawn returns an error. It's an ATME specific control ! -> A group exists even if it has late activation, in that case, DCS creates the group in the mission but it is not visible ! -> You can disable a group then DCS will destroy it from the mission. Then, its name can then be reused for another group, so in that case spawn is already ok and returns no error. -> It's the same for a group totally killed in mission. Its name becomes free and can be reused for another group. When you use ATME spawn function, units of the new group have always new names to prevent conflict. The new units names are built like this : -> Name is "SpawnU#XXXXX-" completed with its original mission defined name. XXXXX is an numerical identifier like "00001" or "00201". That identifier is managed by ATME. -> Example : original unit has name "pilot 1". When spawning, if identifier is 34, then new unit's name will be "SpawnU#00034-pilot 1" -> So you can allways retreave the original name : It's then name after the '-' The lua code to find original name of a unit is : -- Here, a group which name is "copy0" must exist in mission at that moment -- and "copy0" is a already spawned group name. local group = ATME.C_Group.getByName("copy0") local unit = group:getFirstUnit() -- returns the first existing unit of the group local name = unit:getName() -- returns name of a ATME.C_AIUnit instance -- the pattern is "^SpawnU#%d%d%d%d%d%-" -- So the lua function string.find will try to find the pattern in name variable: -- Something which begins with "SpawnU#", continues with 5 digits (5 "%d") -- and ends with "-" -- If something is found d marks the begin of the found substring and f marks -- the end of the found substring. If not, f will be nil. local d,f = string.find(name,"^SpawnU#%d%d%d%d%d%-") local originalName if f ~= nil then -- if something is found, f+1 is the next character after the found substring. originalName = string.sub(name, f + 1, name:len()) else originalName = name end If 'to be spawned' unit's name already exists in mission, then ATME spawn function returns an error. Hope that helps !! ;)
  7. disable and spawn group with same name Hi, after few tests, this is a DCS scripting function group:destroy issue !! I replace it with DCS scripting function unit:destroy (loop for all units in a group of course), and then it works well ;) I will upload a patch and new example ASAP. Sunski
  8. @SUNTSAG : mission and script Hi SUNTSAG, I never done that but you can see 2 files attached : -> Mission and lua file. The lua file is the basic file (just Handler définition after "--MAIN " in file) and the interesting part to do what you want is between lines 6 and 39 (including blank lines)... To do what you want : -> Create an Handler onCreatePlayer so menu will be created -> Add menu and its function F10SpawnCommand -> spawn and disable group If you add players and change slot, or play in mutiplayer that will work directly. I need to change the name of the group for each spawn/disable. I will do more tests. Thanks for your interest in ATME. Regard Sunski test menu spawn and destroy.miz ATME_menu_spawn_destroy.lua
  9. ATME_Rescue Hi, if you want to see how to use the ATME_Rescue ATME generic module, have a look on the RescueTest.miz mission and ATME_testRescue.lua juste above. I hope that help Enjoy ATME.
  10. Bonsoir à tous, ce jour, j'ai publié une nouvelle version d'ATME corrigeant pas mal de soucis sur le spawn et le setRoute. J'ai ajouté également des fonctions et événements pour le suivi dynamique de waypoints. La doc va suivre mais déjà des infos ici : https://forums.eagle.ru/showthread.php?t=179992&page=1 J'ai également posté 3 missions de tests avec leur modules lua ad'hoc. S'il y a des questions, je reste disponible. A+
  11. 3 missions to test... Here is 3 test missions to understand how it's easy to do. If you have question or need help, ask me... You can find specific lua modules for those missions too. Try and enjoy :lol: test setRoute.miz RescueTest.miz test spawn.miz ATME_setRoute.lua ATME_spawnTest1.lua ATME_testRescue.lua
  12. New abilities in Tracking waypoints ATME V1.0.3 adds 3 new core event for waypoints tracking and spawn of groups and 4 new functions in ATME.C_Group Class to manage tracking Waypoints. New Event core : "TRACKING_WAYPOINT" Tracking of the waypoints from 1 to last - 1 (same sequence of numbers than in Mission Editor, so 0 is the first) events:getCoreEventDatas(id) to get datas : -> datas.group for the group instance (object of ATME.C_Group class) -> datas.idWaypoint is the number of waypoint -> datas.point point in x,y,z of the waypoint "TRACKING_LAST_WAYPOINT" Tracking of the last waypoint of a route events:getCoreEventDatas(id) to get datas : -> datas.group for the group instance (object of ATME.C_Group class) -> datas.point point in x,y,z of the waypoint "GROUP_SPAWN" when spawning a new group events:getCoreEventDatas(id) to get datas : -> datas.group for the group instance (object of ATME.C_Group class) 4 new functions for ATME_C_Group: Object:setWaypointsTracking(true or false) : false if only the last waypoint is tracked, true for full waypoints tracking Object:resetWaypointsTracking() -> stop the tracking Object:isFullWaypointsTracking() -> return true or false if full tracking or not Object:isWaypointsTracking -> return true or false if tacking (true full or not full tracking, false no tracking).
  13. Hi everybody, today a new version of ATME_Core, V1.0.3. This version fixed several bugs and add tracking waypoints ability. download here : https://forums.eagle.ru/showthread.php?t=179992 I will update documentation soon. Enjoy ATME....
  14. Hi, you can use this mod which add L/L informations on JTAC coordonates : https://forums.eagle.ru/showthread.php?t=172728&highlight=NATO
  15. New version of ATME_Rescue, a error message problem with did not display. You can dowload it above. Thanks
  16. How to use C_Group:setRoute Here a short video : Remark : If a group is "late activation" then it exists but it's not visible. So other groups may drive around that group. (it's the case on video, second example, ramdom = 1). Try it ! Regards
  17. Merci ... en fait nous avons bossé à 2, surtout pour les tests multi, il a donc fallu avoir une doc pour permettre d'avancer sereinement. Et ce travail conjoint a été enrichi d'exemples pour aider au démarrage sur ATME. Ensuite, le tout a été traduit en anglais. Il y a également une petite vidéo de présentation et un exemple sur le spawn d'autres vont suivre. S'il y a des questions, ne pas hésiter.
  18. Update today English documentation. See above to download
  19. The concept is different. The rescue mission uses ATME_Rescue.lua module which is optimized with ATME abilities of C_F10Menu Class. So it isn't the best way to discover ATME. I will make a video to explain how Rescue works soon. I suggest you to start with basic examples you can find at the beginning of that post. In fact there's two cases if you want a comparison : In other scripts, you have to write code for multiplayer management. In ATME, it's already realised. So writing a mission for mono or multiplayer is quite simple but of course you have to understand the callback concept. Here is the particular approach of ATME. No need to rewrite the world. ATME has a lot of functions and some classes. Here of course, no real difference between ATME and other scripts. Reading documentation is a must. Important : Using Rescue needs C_Group:changeReadyToBoard function (then group will be ready to embark) and a group must be in the good distance to be loaded (<200m) . Hope that explanation helps you. Regards
  20. New version of ATME_Core.lua -> V1.0.2 No impact on documentations or external functions. Support spawning of all new cargos available in 1.5.5 download here https://forums.eagle.ru/showthread.php?p=3001608#post3001608
  21. Video training - spawn groups Here is a video explains how to spawn groups with ATME.
  22. New version online V.1.0.1 ATME.C_GroupSpawnDatas.duplicateFromMissionDatas works for ground groups and ships. Returns an error code if helicopter or plane (BAD_TYPE_UNIT).
  23. @Pikey : It's very difficult because my approach is completely different. ATME is based on callbacks when for example players enter or leave a mission... So you create the function, assign it to have a callback and then your function will be called when event occurs (like player enter -> callback onCreatePlayer). ATME is oriented object too. You will find several examples in that thread (lua code and missions) and full documentation for informations.
  24. Yes, you've right. You've got right. I forgot to ask that in documentation. Actually, I limited duplicateFromMissionDatas/spawn functions to ground groups and ships because of a problem I have with planes and helicopters when in air. They fell directly to ground :cry: And when starting on ground, seems to have a problem with parking. So wait and see ... In that case, duplicateFromMissionDatas return nil with no error... I'm going to add a return error for that case.
  25. Advanced Tools for Mission Editor ou ATME est un ensemble de classes et de fonctions lua simplifiant la mise en œuvre de script Lua dans l’éditeur de mission de DCS World. L’objectif d’ATME est de faciliter la création de missions compatibles mono et multi joueurs, sans limitation du nombre de joueurs. La dynamique induite par l’entrée en jeu des joueurs, leur départ/destruction, ou le changement de slot, est intégralement prise en charge. ATME est basé sur un concept de modules, le module de base s’appelant ATME Core et devant être chargé impérativement en premier. Chaque module supplémentaire, ou ATME User Module, créé peut être générique ou dédié à une mission. Les futurs modules génériques apporteront des fonctionnalités supplémentaires. Ce concept offre une grande souplesse en permettant à des utilisateurs qui ne sont pas à l’aise avec Lua de créer des missions complexes avec peu de code. La complexité de DCS est masquée par ATME, notamment la gestion des délais à la création d'unités ou lors d'un changement de route. ATME Core regroupe les grandes fonctionnalités suivantes : · Mise à disposition de fonctions globales reprise de DCS (encapsulation), génériques (conversions, etc…) ou mathématiques (vecteurs, droites 2D, positionnement relatif, etc…) · Référencement des FARP, airbases et bateaux avec la capacité hélico ou avions d’une mission en fonction du théâtre d’opérations. · Gestion des objets unités, groupes, objets statiques, cargos, armes, objets de scène. Gestion de spot, détection de cibles ennemies. Possibilité de spawn de groupes, d'objets statiques ou de cargos. · Gestion avancée de route (création, modification ou suppression, copie). · Gestion de zones 2D/3D . Gestion d'ensemble de zones. Possibilité de tracking entrée/sortie d'aires. · Gestion de séquences sonores, des communications radios, des balises (TACAN, etc...). · Ajout d’objets particuliers pour en faciliter la gestion (menu F10 joueurs, fumées, flares, etc…) · Gestion des marqueurs. · Gestion complète de l’embarquement/débarquement d’unités d’infanteries avec dynamique de montée dans le véhicule. Ajout d’une notion de transport de troupes (personnel carrier) autorisant l’embarquement à bord d’unité AI (sol ou hélicoptères) ou d’unité joueurs (hélicoptères). Possibilité de créer des zones d’embarquement ou des signalements de position par fumée ou flare. · Gestion complète des tâches affectés aux groupes. · Déclenchement d’événements pouvant être traités dans les modules (embarquements/débarquements, tirs, nouvelles routes, fin de traitement de recherches, entrée dans un zone de signalement, etc…). · Création et gestion d'alarmes permettant le déclenchement d’un événement unique ou répété à instant T définissable en temps absolu ou en relatif à un flag. Cet événement issue d'alarme ne sera émis qu’au module ayant créé le trigger. · Support multi-langue : Français, Anglais, Allemand et Russe actuellement pour les messages et labels. La mise en place de cette fonctionnalité est à la charge du créateur du module. La première version V1.0.0 a été mise en ligne le 31/12/16. Ne sont listées que les mises à jour de la version majeure courante. A ce sujet, un énorme merci à Snowsniper. Nouvelle version du 16/06/21 - Version ATME 2.01, avec exemples et documentation à jour complète - Compatible DCS 2.7.0 et suivantes Refonte d'ATME, optimisations du framework Téléchargement : https://forums.eagle.ru/topic/151841-advanced-tools-for-mission-editor-atme/page/3/?tab=comments#comment-4693266
×
×
  • Create New...