ED Forums - View Single Post - [NEW Script] Advanced Tools for Mission Editor
View Single Post
Old 12-30-2016, 02:05 PM   #1
sunski34
Member
 
Join Date: Mar 2015
Location: France - Montpellier
Posts: 661
Default [NEW Script Engine] Advanced Tools for Mission Editor

Advanced Tools for Mission Editor or ATME is a set of lua classes and functions which intend to simplify DCS World mission editor lua script implementation.
ATME aim is to simplify the creation of single and multiplayer compatible missions, without limiting the number of players. Players entering, destruction or exit mission, the ability of changing slots are fully implemented.
ATME is based on a module concept, the basic module is called ATME Core and have to be loaded imperatively first. Each additional module or ATME User Module created can be generic or dedicated to a mission. Future generic modules will provide additional functionalities. This concept offers great flexibility, allowing users who are not comfortable with lua to create complex interactiv missions with few code.
The Core ATME module brings all the necessary abstraction and interfaces with many of DCS World's functions. These functions organization is primarily oriented towards mission designers. An object approach provides the necessary clarity.

ATME Core brings together the following major features:
· Providing global functions including DCS functions (encapsulation), generic (conversions, etc ...) or mathematics (3D vectors, 2D lines, relative positioning, etc.)
· Referencing mission based FARP & Airfields for a theater operation (NEVADA or CAUCASUS for the moment).
· Player objects, AI units, groups and static objects management. Spawn ability, roads or recoveries of route from a given waypoint association etc ...
· Adding specific objects to facilitate mission and interactiv management (radio players menu, smoke, flares, etc ...)
· Multiplayer races with 1/100th, intermediate, lap, total time and rankings, complete management. Creating raids with several races ability.
· Infantry units with dynamic climb in the vehicle, embarkation / disembarkation complete management. Transport of troops (personnel carrier) concept, authorizing the AI unit embarkation on board (ground or helicopters) or player unit (helicopters). Able to creating embarkation zones with smoke or flare position reports.
· Core events triggering which can be processed in the modules (end of embarkation, race events, reporting zone entry into, etc.).
· Complete task management for groups.
· Alarms creation and management allowing triggering of a single or repeated event at a "T" time which can be defined in absolute time, or relative to a flag. This alarm Event will only be available to the module that created the trigger.
· Multi-language support: French, English, German and Russian. Available currently for message and label. Multi-language implementation is the module creator choice &responsibility.
ATME is DCS 1.5.5 (and later) & DCS 2.0.4(and later) compatible.


This tools took more than 6 months to develop and test....
The first beta version was V1.0.0 uploaded on 12/31/16.



A great thank to snowsniper for his ideas, help on multiplayer tests and translation.

This thread is only for future new versions of ATME. If you have problems or questions use https://forums.eagle.ru/showthread.p...25#post3001625

New version on 03/30/18 : V1.4.0 Be careful, some functions have changed ...
  • Lots of bugs fixed, tested with DCS 2.5. Complete dynamic spawn now works fine.
  • New function ATME.getRandomPlayerFromCoalition to get a player randomly
  • New functions ATME.isPoint2D and ATME.isPoint3D return boolean
  • Complete task management for groups and route. New class ATME.C_Task
  • Add new function addTaskToWaypoint to ATME.C_Route class
  • Add new functions setTask, resetTask, pushTask and popTask to ATME.C_Group class
  • Add new functions addInitialWaypointsFrom and addWaypointsFrom for waypoints copy from another group.
  • Add new function setOption to ATME.C_Group class replacing old functions (one per option before).
  • Modify parameters of function load of ATME.C_AIUnit and ATME.C_Player classes
  • Add a new possibility to unload function of ATME.C_AIUnit and ATME.C_Player classes. Automatic troop disembark when transport vehicle stops.
  • Renamme functions setAircraftTracking and resetAircraftTracking of ATME.C_Area class into setTracking and resetTracking
  • Rename core events AREA_AIRCRAFT_ENTERS and AREA_AIRCRAFT_LEAVES into AREA_ENTERS and AREA_LEAVES
  • Rename functions setAircraftsGroupTracking and resetAircraftsGroupTracking of ATME.C_Area class into setGroupTracking and resetGroupTracking
  • Rename core events AREA_AIRCRAFTS_GROUP_ENTERS and AREA_AIRCRAFTS_GROUP_LEAVES into AREA_GROUP_ENTERS anf AREA_GROUP_LEAVES

New version on 04/01/18 : V1.4.1
  • Bug on FAC_ENGAGE_GROUP and FAC_ATTACK_GROUP tasks fixed
  • Add FORMATION option for aircrafts groups

New version on 04/22/18 : V1.4.2 (Be careful : some functions have been renammed)
  • Add ATME.C_Stack class for stack management (FIFO and LIFO)
  • Rename ATME.getRandomPlayerFromCoalition into ATME.C_Player.getRandomFromCoalition
  • Remove getBarycentre function of ATME.C_Group
  • Add getPosition to ATME.C_Group to get the group first unit position .
  • Add getRandomUnitPosition function in ATME.C_Group to get a group random unit position
  • Rename setCrossingMultiSegmentTracking function of ATME.C_AIUnit and ATME.C_Player classes into setMultiSegmentTracking
  • Rename resetCrossingMultiSegmentTracking function of ATME.C_AIUnit and ATME.C_Player classes into resetMultiSegmentTracking
  • Add zone extension to "ATTACK_GROUP" and "FAC_ENGAGE_GROUP" to clean a ATME 2D zone.

New version on 05/13/18 : V1.4.3
  • New optimizations
  • Several bugs fixed for ATME.C_Route class and for mark functions
  • Add new countries : ALGERIA, KUWEIT, QATAR, OMAN, UNITED_ARAB_EMIRATES
  • Add new readOnly and message parameters to ATME.markToAll and ATME.markToCoalition functions
  • Add new readOnly and message parameters to mark function of ATME.C_Player class
  • All ATME and ATME.C_Player mark creation functions now returns an ID which can be used for remove it when needed
  • Add new ATME.markRemove function to remove a mark by its ID even for player's one
  • Remove soundChange function in ATME.C_Player class
  • Remove ATME.createUserDatas to create proxy table
  • Replace all userDatas proxy table by simple lua table

New version on 20/05/18 : V1.4.4
  • New optimizations for players
  • Several bug fixed on signals
  • End of mission handler "onEndMissionHandler" of ATME.C_Module classe works now
  • "EJECTION" event core is removed and replaced with a new parameter named "cause" in onDeletePlayerHandler and onDeleteAIUnitHandler of ATME.C_Module class.

New version on 09/09/18 : V1.4.5
  • New optimizations
  • Crash when respawn after a plane destruction fixed
  • Bad waypoint altitude when create new waypoints on a route fixed
  • Several bugs fixed
  • New isPilotDead function for ATME.C_AIUnit and ATME.C_Player classes
  • New isPilotEjected function for ATME.C_AIUnit et ATME.C_Player classes

Zip file contains lua ATME core file, link to download : https://forums.eagle.ru/showpost.php...33&postcount=1


Thank you and enjoy ATME

Last edited by sunski34; 09-09-2018 at 05:04 PM.
sunski34 is offline   Reply With Quote