https://wiki.hoggitworld.com/api.php?action=feedcontributions&user=Grimes&feedformat=atomDCS World Wiki - Hoggitworld.com - User contributions [en]2024-03-28T14:19:55ZUser contributionsMediaWiki 1.30.0https://wiki.hoggitworld.com/index.php?title=DCS_func_addGroup&diff=14669DCS func addGroup2024-03-20T07:52:04Z<p>Grimes: </p>
<hr />
<div>{{Template:dcs_funcs<br />
<br />
|fName= addGroup<br />
<br />
|vNum= 1.2.4<br />
<br />
|par1= [[DCS_singleton_coalition|coalition]]<br />
<br />
|par2= <br />
<br />
|par3= <br />
<br />
|par4=<br />
<br />
|desc= Dynamically spawns a group of the specified category for the specified country. Group data table is in the same format as created by the mission editor. <br />
<br />
See [[DCS_enum_country|country page]] and [[DCS_Class_Group|group class page]] for the list of countries by id and group categories.<br />
<br />
The coalition of the group is defined by the coalition its country belongs to.<br />
<br />
If the group or any unit within shares a name of an existing group or unit, the existing group or unit will be destroyed when the new group is created. <br />
<br />
Function can NOT spawn new aircraft with a skill level of "client". However in single player a group can be spawned with the skill level of "Player". When this occurs the existing player aircraft will be destroyed. <br />
<br />
If no groupId or unitId is specified or the Ids are shared with existing groups or units, a new Id will be created for the new group.<br />
<br />
|rtnType= Group<br />
<br />
|rtnExample= none<br />
<br />
|reqType1= enum<br />
<br />
|reqName1= countryId<br />
<br />
|reqType2= enum<br />
<br />
|reqName2= groupCategory<br />
<br />
|reqType3= table<br />
<br />
|reqName3= groupData<br />
<br />
|reqType4=<br />
<br />
|optType1=<br />
<br />
|optType2=<br />
<br />
|examples= Detailed Examples Linked Below: <br />
[[DCS_exam_group_ground|Ground Group]]<br />
[[DCS_exam_group_ship|Ship Group]] <br />
[[DCS_exam_group_heli|Helicopter Group]]<br />
[[DCS_exam_group_plane|Plane Group]]<br />
<br />
<br />
A basic table for a ground unit<br />
<pre><br />
local groupData = {<br />
["visible"] = false,<br />
["taskSelected"] = true,<br />
["route"] = <br />
{<br />
}, -- end of ["route"]<br />
["groupId"] = 2,<br />
["tasks"] = <br />
{<br />
}, -- end of ["tasks"]<br />
["hidden"] = false,<br />
["units"] = <br />
{<br />
[1] = <br />
{<br />
["type"] = "LAV-25",<br />
["transportable"] = <br />
{<br />
["randomTransportable"] = false,<br />
}, -- end of ["transportable"]<br />
["unitId"] = 2,<br />
["skill"] = "Average",<br />
["y"] = 616314.28571429,<br />
["x"] = -288585.71428572,<br />
["name"] = "Ground Unit1",<br />
["playerCanDrive"] = true,<br />
["heading"] = 0.28605144170571,<br />
}, -- end of [1]<br />
}, -- end of ["units"]<br />
["y"] = 616314.28571429,<br />
["x"] = -288585.71428572,<br />
["name"] = "Ground Group",<br />
["start_time"] = 0,<br />
["task"] = "Ground Nothing",<br />
} -- end of [1]<br />
<br />
coalition.addGroup(country.id.USA, Group.Category.GROUND, groupData)<br />
</pre><br />
<br />
Required Group values<br />
name string for the group name<br />
task string for the master task that will dictate core AI behavior<br />
<br />
Optional Group Values<br />
groupId number groupId<br />
start_time number time in seconds after mission start time that the group will spawn in. If 0 the group will spawn immediately.<br />
lateActivation boolean value that can override start_time to force the group to spawn in via trigger<br />
hidden boolean whether or not the group is visible on the F10 map view<br />
hiddenOnPlanner boolean if true the group will be hidden on the mission planner available in single player. <br />
hiddenOnMFD boolean if true this group will not be auto populated on relevant aircraft map screens and avionics. For instance SAM rings in F-16/F-18 and AH-64 threats pages<br />
route table complex table defining the route and tasks assigned to the group<br />
<br />
Optional Group Values (Aircraft and Helicopters)<br />
uncontrolled boolean for ground starts, whether or not the aircraft will be visible but not active<br />
modulation number (0 or 1) for AM or FM radio<br />
frequency number of the radio frequency the unit will broadcast to<br />
communication boolean for whether or not the group will communicate over the radio<br />
<br />
Optional Group Values (Ground and Ships)<br />
visible boolean For whether or not the group is visible before its start time<br />
uncontrollable boolean corresponds to "Game Master Only" setting in editor. Dictates whether or not ground commanders can give orders to the group.<br />
<br />
Optional Group Values (Ground only)<br />
<br />
manualHeading boolean When spawned with a route assigned each unit in the group will automatically be pointing toward the next waypoint in the route. When set to true each unit will respect their own heading value. <br />
<br />
Required Unit values<br />
name name for the type of object<br />
type string for the type of object<br />
x number for x coordinate<br />
y number for y coordinate<br />
<br />
Required Unit Values for Aircraft and Helicopters<br />
alt number altitude in meters<br />
alt_type string "BARO" or "RADIO" for Above sea level or above ground level<br />
speed number velocity the aircraft will spawn at measured in meters per second<br />
payload table of the aircrafts payload including fuel, weapons, and countermeasures<br />
callsign table/number of the callsign for the unit. NATO countries use a table to define callsigns while the Russian style uses a number <br />
<br />
Optional Unit Values<br />
unitId number unitId<br />
heading number heading of the object in radians<br />
skill string of the units skill level. Can be "Excellent", "High", "Good", "Average", "Random", "Player"<br />
<br />
Optional Unit Values for Ground<br />
<br />
coldAtStart boolean if true the vehicle will start with its engine off and should take some time to appear on FLIR<br />
playerCanDrive boolean if true Combined Arms players can take direct control of the unit. <br />
<br />
<br />
Aircraft and Helicopter values<br />
AddPropAircraft table additional aircraft properties for some contains the datalink ID information for that unit. <br />
livery_id string name of the livery for the aircraft<br />
psi number<br />
onboard_num string of the tail number on the aircraft<br />
parking_landing number the "Term_Index" associated with the landing parking spot see Airbase.getParking<br />
parking_landing_id string displayd value in the mission editor of the parking spot the unit will taxi to on landing<br />
parking string of a number of the "Term_Index" associated with the starting parking spot see Airbase.getParking<br />
parking_id string displayed value in the mission editor where the unit starts parked at<br />
datalinks table defines the link16, SADL, or Longbow Net data used for that specific unit <br />
Helicopter Values<br />
ropeLength number length of a rope used for sling loading, default is 15<br />
|related= <br />
[[DCS_singleton_coalition|'''Coalition Functions:''']] {{ListOfCoalitionFuncs}}<br />
<br />
|notes= You '''''MUST''''' have a built in delay before accessing the group or units controllers and issuing tasks, commands or options of the group spawned. Otherwise the you are likely to cause a game crash. <br />
<br />
Route table can be empty or assigned to the group after spawning using [[DCS_func_getController|getController]] and [[DCS_func_pushTask|pushTask]] functions.<br />
See [[DCS_task_mission|page on mission task]] for more information regarding the route table. <br />
<br />
FARPs are spawned using the addGroup function, with groupCategory set to -1<br />
<br />
Payload table<br />
<br />
}}<br />
[[Category:Singleton Functions|addGroup]]<br />
[[Category:Game Patch 1.2.4|addGroup]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=DCS_task_engageTargets&diff=14668DCS task engageTargets2024-03-18T22:22:31Z<p>Grimes: </p>
<hr />
<div>{{Template:DCS_tasking<br />
<br />
|tName=engageTargets<br />
<br />
|vNum= 1.2.4<br />
<br />
|type= enroute task<br />
<br />
|for= Airplanes, Helicopters<br />
<br />
|avail= CAP, CAS, SEAD, Anti-ship, Fighter Sweep, AFAC<br />
<br />
|desc= Assigns the controlled group to engage targets that have a specific attribute. Group will only engage detected targets.<br />
<br />
When placing a flight with the role of CAP, CAS, SEAD, Anti-ship, or Fighter Sweep in the mission editor an enroute task of the same name will automatically be generated for said group on their first waypoint. Theses tasks are available as an option in the enroute listing. Within the mission file itself these tasks are actually a engageTargets tasking with pre-defined target attributes. <br />
<br />
Within the mission editor the task role selection filters the list of valid attributeNames to be relevant to this task. In reality that doesn't matter and you can assign whatever attribute you want for an aircraft to attack.<br />
<br />
<br />
|form= This task needs to be in the following format. <br />
<br />
EngageTargets ={ <br />
id = 'EngageTargets', <br />
params = { <br />
maxDist = Distance, <br />
maxDistEnabled = boolean, -- required to check maxDist<br />
targetTypes = array of AttributeName, <br />
priority = number <br />
} <br />
}<br />
<br />
'''Required parameters''': <br />
<br />
targetTypes: array of [[DCS_enum_attributes|attribute names]] that define valid targets.<br />
<br />
<br />
'''Optional Parameters''':<br />
<br />
maxDist: Defines the maximum distant in meters the group will deviate from their route to engage a target. <br />
<br />
maxDistEnabled : boolean, required to be true if maxDist value is to be used. <br />
<br />
priority: The priority of the tasking, the lower the number the more important the objective is. Helps define the order in which AI will execute tasking. By default the value is 0.<br />
|enum= N/A<br />
|exam= The following task will allow an AI aircraft to attack radar sites and enemy fighters. <br />
<br />
local gpCon = Group.getByName("M-M-M-M-MultiRole"):getController()<br />
local seadAndFighters = {<br />
id = "EngageTargets", <br />
params = {<br />
targetTypes = {"Fighters", "SAM SR", "SAM TR"},<br />
priority = 1, <br />
}, <br />
} <br />
gpCon:pushTask(seadAndFighters) <br />
<br />
<br />
<br />
<br />
|notes= <br />
<br />
See article [[Mission Editor: AI Tasking]] for more information on how AI tasking is handled within DCS. <br />
<br />
<br />
}}<br />
[[Category:Aircraft Task|Engage Targets]]<br />
[[Category:Helicopter Task|Engage Targets]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=DCS_func_getTime&diff=14667DCS func getTime2024-03-12T02:26:50Z<p>Grimes: </p>
<hr />
<div>{{Template:dcs_funcs<br />
<br />
|fName= getTime<br />
<br />
|vNum= 1.2.0<br />
<br />
|par1= [[DCS_singleton_timer|timer]]<br />
<br />
|par2= <br />
<br />
|par3= <br />
<br />
|par4=<br />
<br />
|desc= Returns the model time in seconds to 3 decimal places since the mission has started. This counts time once the mission starts and will pause with the game. <br />
<br />
|rtnType= time<br />
<br />
|rtnExample= 65.385<br />
<br />
|reqType1= <br />
<br />
|reqName1= <br />
<br />
|reqType2= <br />
<br />
|reqName2=<br />
<br />
|optType1= <br />
<br />
|optName1= <br />
<br />
|optType2=<br />
<br />
<br />
|related= <br />
[[DCS_singleton_timer|'''timerfunctions:''']] {{listOfTimerFuncs}}<br />
<br />
|examples= <br />
.<br />
if timer.getTime() > 20 then<br />
doWhatever()<br />
end<br />
<br />
|notes= <br />
}}<br />
[[Category:Singleton Functions|getTime]]<br />
[[Category:Game Patch 1.2.0|getTime]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=Template:ListOfOptions&diff=14662Template:ListOfOptions2024-02-23T04:09:16Z<p>Grimes: </p>
<hr />
<div>[[DCS_option_roe|ROE]], [[DCS_option_reactionToThreat|Reaction To Threat]], [[DCS_option_radarUsing|Radar Using]], [[DCS_option_flareUsing|Flare Using]], [[DCS_option_formation|Formation]], [[DCS_option_rtbOnBingo|RTB On Bingo]], [[DCS_option_silence|silence]], [[DCS_option_disperseOnAttack|Disperse on Attack]], [[DCS_option_alarmState|Alarm State]], [[DCS_option_rtbOnOutOfAmmo|RTB on Out of Ammo]], [[DCS_option_ECMUsing|ECM Using]], [[DCS_option_prohibitAA|Prohibit AA]], [[DCS_option_prohibitJett|Prohibit Jettison]], [[DCS_option_prohibitAB|Prohibit Afterburner]], [[DCS_option_ProhibitAG|Prohibit AG]], [[DCS_option_missileAttack|Missile Attack Range]], [[DCS_option_prohibitWPPassReport|Prohibit WP Pass Report]], [[DCS_option_engage_air_weapons|Engage Air Weapons]], [[DCS_option_radioContact|Option Radio Usage Contact]], <br />
[[DCS_option_radioEngage|Option Radio Usage Engage]], [[DCS_option_radioKill|Option Radio Usage Kill]], [[DCS_option_engagementRange|AC Engagement Range Restriction]], [[DCS_option_jettTankIfEmpty|jett tanks if empty]], [[DCS_option_forcedAttack|forced attack]], [[DCS_option_altitudeRestrictionMin|Altitude Restriction for AAA Min]], [[DCS_option_restrictTargets|restrict targets]], [[DCS_option_altitudeRestrictionMax|Altitude Restriction for AAA Max]], [[DCS_option_prefer vertical|Prefer Vertical]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=Template:DCS_enum_air_options&diff=14661Template:DCS enum air options2024-02-23T03:56:10Z<p>Grimes: </p>
<hr />
<div>AI.Option.Air.id<br />
ROE = 0<br />
REACTION_ON_THREAT = 1<br />
RADAR_USING = 3<br />
FLARE_USING = 4<br />
Formation = 5<br />
RTB_ON_BINGO = 6<br />
SILENCE = 7<br />
RTB_ON_OUT_OF_AMMO = 10<br />
ECM_USING = 13<br />
PROHIBIT_AA = 14<br />
PROHIBIT_JETT = 15<br />
PROHIBIT_AB = 16<br />
PROHIBIT_AG = 17<br />
MISSILE_ATTACK = 18<br />
PROHIBIT_WP_PASS_REPORT = 19<br />
OPTION_RADIO_USAGE_CONTACT = 21<br />
OPTION_RADIO_USAGE_ENGAGE = 22<br />
OPTION_RADIO_USAGE_KILL = 23<br />
JETT_TANKS_IF_EMPTY = 25<br />
FORCED_ATTACK = 26<br />
PREFER_VERTICAL = 32</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=DCS_option_prefer_vertical&diff=14660DCS option prefer vertical2024-02-23T03:55:07Z<p>Grimes: Created page with "{{Template:DCS_tasking |tName= Prefer Vertical Landing |vNum= 2.9.3 |type= Option |for= Helicopters |avail= Everything |desc= Defines whether or..."</p>
<hr />
<div>{{Template:DCS_tasking<br />
<br />
|tName= Prefer Vertical Landing<br />
<br />
|vNum= 2.9.3<br />
<br />
|type= [[DCS_func_setOption|Option]]<br />
<br />
|for= Helicopters<br />
<br />
|avail= Everything <br />
<br />
|desc= Defines whether or not an AI helicopter at an airbase will perform a vertical take-off/landing from its parking spot or taxi. Applies only to helicopters capable of taxiing. Applies only to take-off and landing waypoint tasks, AI will ignore the setting for the landReArFu task. <br />
<br />
'''''Behaviors:'''''<br />
<br />
True: AI will prefer vertical takeoff/landing<br />
<br />
False: (Default) AI will prefer to taxi to/from the runway and do a rolling takeoff/landing. <br />
<br />
<br />
<br />
|form= All options have an option ID and Value. For more information see the article on [[DCS_enum_AI|the AI enumerator]].<br />
<br />
Option Identifier:<br />
<br />
AI.Option.Air.id.PREFER_VERTICAL<br />
<br />
Option Values: <br />
<br />
true<br />
false<br />
|enum= PREFER_VERTICAL = 32<br />
|exam=<br />
<br />
|notes= <br />
<br />
See article [[Mission Editor: AI Tasking]] for more information on how AI tasking is handled within DCS. <br />
<br />
<br />
}}<br />
[[Category:Helicopter Task|preferVertical]]<br />
[[Category:Game Patch 2.9.3|preferVertical]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=Category:Terrain_Information&diff=14659Category:Terrain Information2024-02-23T03:33:58Z<p>Grimes: </p>
<hr />
<div>{{Template:dcs_maps_scripting<br />
<br />
|name= Caucuses<br />
<br />
|desc= This region along the eastern Black Sea consists of Russian, Georgian, and Turkish territory. This area includes many airbases, urban areas, lines of communications, and all four seasons.<br />
<br />
|list= <br />
<br />
12 : Anapa-Vityazevo <br />
13 : Krasnodar-Center <br />
14 : Novorossiysk <br />
15 : Krymsk <br />
16 : Maykop-Khanskaya <br />
17 : Gelendzhik <br />
18 : Sochi-Adler <br />
19 : Krasnodar-Pashkovsky <br />
20 : Sukhumi-Babushara <br />
21 : Gudauta <br />
22 : Batumi <br />
23 : Senaki-Kolkhi <br />
24 : Kobuleti <br />
25 : Kutaisi <br />
26 : Mineralnye Vody <br />
27 : Nalchik <br />
28 : Mozdok <br />
29 : Tbilisi-Lochini <br />
30 : Soganlug <br />
31 : Vaziani <br />
32 : Beslan<br />
<br />
|mapImage= [[File:Cauc_map_orign.jpg|200px|thumb]]<br />
<br />
|note= Airbase Id 1 - 11 represents removed airbases from the Crimean part of the map dating back to the LOMAC game series. <br />
<br />
}}<br />
<br />
{{Template:dcs_maps_scripting<br />
<br />
|name= Nevada<br />
<br />
|desc= The Nevada Test and Training Range (NTTR) has the largest contiguous air and ground space available for peacetime military operations in the free world. The NTTR land area includes simulated air defense systems, mock airbases, and several target ranges. The NTTR was also used for nuclear testing. Today, it is home to RED FLAG and other military exercises that include countries from around the world. The NTTR map for DCS World 2 includes Nellis AFB, Creech AFB, and the infamous Groom Lake AFB (aka Area 51). This map also includes the city of Las Vegas, McCarran International Airport, and Hoover Dam.<br />
<br />
|list= <br />
<br />
1 : Creech AFB <br />
2 : Groom Lake AFB <br />
3 : McCarran International Airport <br />
4 : Nellis AFB <br />
5 : Beatty Airport <br />
6 : Boulder City Airport <br />
7 : Echo Bay <br />
8 : Henderson Executive Airport <br />
9 : Jean Airport <br />
10 : Laughlin Airport <br />
11 : Lincoln County <br />
13 : Mesquite <br />
14 : Mina Airport 3Q0 <br />
15 : North Las Vegas <br />
16 : Pahute Mesa Airstrip <br />
17 : Tonopah Airport <br />
18 : Tonopah Test Range Airfield<br />
<br />
|mapImage= [[File:Nevada_map_origin.jpg|200px|thumb]]<br />
<br />
|note= 2.1 added bases 5-18<br />
<br />
Mina Airport has 0 ramp spawns<br />
<br />
}}<br />
{{Template:dcs_maps_scripting<br />
<br />
|name= Normandy<br />
<br />
|desc= The DCS: Normandy 1944 Map is centered on the World War II battlefield of Normandy, France and is specifically created to depict the period after the D-Day landings and the establishment of several allied airfields in Normandy to support the beachhead breakout in late June 1944. The map measures 267 x 348 kilometers and includes airfields in both Normandy and southern England. The map includes the famous D-Day landing beaches and the "Atlantic Wall", rolling bocage fields of Normandy, large cities like Caen and Rouen, ports of Cherbourg and Le Havre, and 30 airfields. The map also includes multiple seasons.<br />
<br />
|list= <br />
<br />
1 : Saint Pierre du Mont <br />
2 : Lignerolles <br />
3 : Cretteville <br />
4 : Maupertus <br />
5 : Brucheville <br />
6 : Meautis <br />
7 : Cricqueville-en-Bessin <br />
8 : Lessay <br />
9 : Sainte-Laurent-sur-Mer <br />
10 : Biniville <br />
11 : Cardonville <br />
12 : Deux Jumeaux <br />
13 : Chippelle <br />
14 : Beuzeville <br />
15 : Azeville <br />
16 : Picauville <br />
17 : Le Molay <br />
18 : Longues-sur-Mer <br />
19 : Carpiquet <br />
20 : Bazenville <br />
21 : Sainte-Croix-sur-Mer <br />
22 : Beny-sur-Mer <br />
23 : Rucqueville <br />
24 : Sommervieu <br />
25 : Lantheuil <br />
26 : Evreux <br />
27 : Chailey <br />
28 : Needs Oar Point <br />
29 : Funtington <br />
30 : Tangmere <br />
31 : Ford <br />
32 : Argentan <br />
33 : Goulet <br />
34 : Barville <br />
35 : Essay <br />
36 : Hauterive <br />
37 : Lymington <br />
38 : Vrigny <br />
39 : Odiham <br />
40 : Conches <br />
41 : West Malling <br />
42 : Villacoublay <br />
43 : Kenley <br />
44 : Beauvais-Tille <br />
45 : Cormeilles-en-Vexin <br />
46 : Creil <br />
47 : Guyancourt <br />
48 : Lonrai <br />
49 : Dinan-Trelivan <br />
50 : Heathrow <br />
51 : Fecamp-Benouville <br />
52 : Farnborough <br />
53 : Friston <br />
54 : Deanland <br />
55 : Triqueville <br />
56 : Poix <br />
57 : Orly <br />
58 : Stoney Cross <br />
59 : Amiens-Glisy <br />
60 : Ronai <br />
61 : Rouen-Boos <br />
62 : Deauville <br />
63 : Saint-Aubin <br />
64 : Flers <br />
65 : Avranches Le Val-Saint-Pere <br />
66 : Gravesend <br />
67 : Beaumont-le-Roger <br />
68 : Broglie <br />
69 : Bernay Saint Martin <br />
70 : Saint-Andre-de-lEure<br />
<br />
|mapImage= [[File:Normandy2_map_area.jpg|200px|thumb]]<br />
<br />
|note= 2.5.6 Patch added airbases 32-40. <br />
<br />
2.8.4 saw the release of Normandy 2.0. Added area to the map including Paris and London. With airbases 41-70<br />
<br />
}}<br />
{{Template:dcs_maps_scripting<br />
<br />
|name= Persian Gulf<br />
<br />
|desc= The Persian Gulf Map for DCS World focuses on the Strait of Hormuz, which is the strategic choke point between the oil-rich Persian Gulf and the rest of the world. Flanked by Iran to the North and western-supported UAE and Oman to the south, this has been one of the world’s most dangerous flash points for decades. It was the location of Operation Praying Mantis in 1988 in which the US Navy sank several Iranian naval vessels.<br />
<br />
|list= <br />
<br />
1 : Abu Musa Island <br />
2 : Bandar Abbas Intl <br />
3 : Bandar Lengeh <br />
4 : Al Dhafra AFB <br />
5 : Dubai Intl <br />
6 : Al Maktoum Intl <br />
7 : Fujairah Intl <br />
8 : Tunb Island AFB <br />
9 : Havadarya <br />
10 : Khasab <br />
11 : Lar <br />
12 : Al Minhad AFB <br />
13 : Qeshm Island <br />
14 : Sharjah Intl <br />
15 : Sirri Island <br />
16 : Tunb Kochak <br />
17 : Sir Abu Nuayr <br />
18 : Kerman <br />
19 : Shiraz Intl <br />
20 : Sas Al Nakheel <br />
21 : Bandar-e-Jask <br />
22 : Abu Dhabi Intl <br />
23 : Al-Bateen <br />
24 : Kish Intl <br />
25 : Al Ain Intl <br />
26 : Lavan Island <br />
27 : Jiroft <br />
28 : Ras Al Khaimah Intl <br />
29 : Liwa AFB<br />
<br />
<br />
|mapImage= [[File:PG_map_origin.jpg|200px|thumb]]<br />
<br />
|note= Additional airbases are expected to be added in time. <br />
<br />
Yes I know Bahrain is missing.<br />
<br />
Patch 2.5.6.59398 renamed several of the airbases. Primarily changed "International" to "Intl", "AB" to "AFB", and removed "airport" or "airfield" from any name that had it. <br />
<br />
}}<br />
<br />
{{Template:dcs_maps_scripting<br />
<br />
|name= The Channel<br />
<br />
|desc= Separating England from the Third Reich in World War II, the English Channel provided a barrier that the axis could not breach. The Channel map provides a detailed and accurate representation of southeastern England and the adjacent region across the Channel in mainland Europe. It encompasses all of the historical airfields, urban areas, roads and rails, ports and other features that make it the perfect setting for the World War II air war in Europe between the late 1930s and 1944.<br />
<br />
|list= <br />
<br />
1 : Abbeville Drucat <br />
2 : Merville Calonne <br />
3 : Saint Omer Longuenesse <br />
4 : Dunkirk Mardyck <br />
5 : Manston <br />
6 : Hawkinge <br />
7 : Lympne <br />
8 : Detling <br />
12 : High Halden<br />
<br />
<br />
|mapImage= [[File:Channel_map_origin.jpg|200px|thumb]]<br />
<br />
|note= Unknown why IDs 9, 10, and 11 are currently skipped. <br />
}}<br />
<br />
{{Template:dcs_maps_scripting<br />
<br />
|name= Syria<br />
<br />
|desc= Map size 600*420 km., map area 250 thousand sq. km. In the Central part of the map are the States of Syria and Lebanon, which are washed by the Mediterranean sea. The Northern part of the map is limited to Turkey, in the South - Israel and Jordan.<br />
<br />
|list= <br />
<br />
<br />
<br />
1 : Abu al-Duhur <br />
2 : Adana Sakirpasa <br />
3 : Al Qusayr <br />
4 : An Nasiriyah <br />
5 : Tha'lah <br />
6 : Beirut-Rafic Hariri <br />
7 : Damascus <br />
8 : Marj as Sultan South <br />
9 : Al-Dumayr <br />
10 : Eyn Shemer <br />
11 : Gaziantep <br />
12 : H4 <br />
13 : Haifa <br />
14 : Hama <br />
15 : Hatay <br />
16 : Incirlik <br />
17 : Jirah <br />
18 : Khalkhalah <br />
19 : King Hussein Air College <br />
20 : Kiryat Shmona <br />
21 : Bassel Al-Assad <br />
22 : Marj as Sultan North <br />
23 : Marj Ruhayyil <br />
24 : Megiddo <br />
25 : Mezzeh <br />
26 : Minakh <br />
27 : Aleppo <br />
28 : Palmyra <br />
29 : Qabr as Sitt <br />
30 : Ramat David <br />
31 : Kuweires <br />
32 : Rayak <br />
33 : Rene Mouawad <br />
34 : Rosh Pina <br />
35 : Sayqal <br />
36 : Shayrat <br />
37 : Tabqa <br />
38 : Taftanaz <br />
39 : Tiyas <br />
40 : Wujah Al Hajar <br />
41 : Gazipasa <br />
42 : Deir ez-Zor <br />
43 : Nicosia <br />
44 : Akrotiri <br />
45 : Kingsfield <br />
46 : Paphos <br />
47 : Larnaca <br />
48 : Lakatamia <br />
49 : Ercan <br />
50 : Gecitkale <br />
51 : Pinarbashi <br />
52 : Naqoura <br />
53 : H3 <br />
54 : H3 Northwest <br />
55 : H3 Southwest <br />
57 : Ruwayshid <br />
58 : Sanliurfa <br />
59 : Kharab Ishk <br />
60 : Tal Siman <br />
63 : At Tanf <br />
64 : Prince Hassan <br />
65 : King Abdullah II <br />
66 : Herzliya <br />
67 : Amman <br />
68 : Muwaffaq Salti<br />
<br />
<br />
|mapImage= [[File:Syria_map_origin.jpg|200px|thumb]]<br />
<br />
|note= <br />
<br />
2.9.3 Added ids 64-68<br />
}}<br />
{{Template:dcs_maps_scripting<br />
|name= Marianas Islands <br />
|desc= The Marianas Islands are an island chain in the Pacific Ocean.<br />
<br />
|list= <br />
<br />
1 : Rota Intl <br />
2 : Saipan Intl <br />
3 : Tinian Intl <br />
4 : Antonio B. Won Pat Intl <br />
5 : Olf Orote <br />
6 : Andersen AFB <br />
7 : Pagan Airstrip <br />
8 : North West Field<br />
<br />
<br />
|mapImage= [[File:Marianas map.jpg|200px|thumb]]<br />
<br />
|note= This map is free to use. <br />
<br />
Map origin is located exactly above the Antonio B Won Pat Intl airport. <br />
}}<br />
<br />
{{Template:dcs_maps_scripting<br />
<br />
|name= South Atlantic<br />
<br />
|desc= Covering an area of 3.1 Million Square Kilometers Razbam presents The South Atlantic. A beautiful combination of Argentina, Chile and the Falkland Islands. Landclass textures have been drawn from aerial and satellite photography detailing this truly majestic area of the world, from the rugged mountains of Chile, colourful plains of Patagonia and the windswept Falkland Islands. Home to one of the smallest cities in the world Stanley.<br />
<br />
|list= <br />
<br />
1 : Port Stanley <br />
2 : Mount Pleasant <br />
3 : San Carlos FOB <br />
5 : Rio Gallegos <br />
6 : Rio Grande <br />
7 : Ushuaia <br />
8 : Ushuaia Helo Port <br />
9 : Punta Arenas <br />
10 : Pampa Guanaco <br />
11 : San Julian <br />
12 : Puerto Williams <br />
13 : Puerto Natales <br />
14 : El Calafate <br />
15 : Puerto Santa Cruz <br />
16 : Comandante Luis Piedrabuena <br />
17 : Aerodromo De Tolhuin <br />
18 : Porvenir Airfield <br />
19 : Almirante Schroeders <br />
20 : Rio Turbio <br />
21 : Rio Chico <br />
22 : CaletaTortel <br />
23 : Franco Bianco <br />
24 : Goose Green <br />
25 : Hipico Flying Club <br />
26 : Aeropuerto de Gobernador Gregores <br />
27 : Aerodromo O'Higgins <br />
28 : Cullen Airport <br />
29 : Gull Point<br />
<br />
|mapImage= [[File:SouthAtlanticMapArea.jpg|200px|thumb]]<br />
<br />
|note= Map origin is located just south of East Falkands Island. <br />
<br />
Airbase list is as of DCS 2.8.4. <br />
<br />
}}<br />
<br />
{{Template:dcs_maps_scripting<br />
<br />
|name= Sinai<br />
<br />
|desc= The territory includes the entire Sinai Peninsula, eastern Egypt, the Nile Delta, the southern part of Israel, the west of Jordan and Saudi Arabia, Palestine - the Gaza Strip. This area includes many airbases, urban areas, wide variety of landscapes such as mountains, desert, sea and bays.<br />
<br />
|list= <br />
<br />
<br />
1 : Difarsuwar Airfield <br />
2 : Abu Suwayr <br />
3 : As Salihiyah <br />
4 : Al Ismailiyah <br />
5 : Melez <br />
6 : Fayed <br />
7 : Hatzerim <br />
8 : Nevatim <br />
9 : Ramon Airbase <br />
10 : Ovda <br />
11 : Kibrit Air Base <br />
12 : Kedem <br />
13 : Wadi al Jandali <br />
14 : Al Mansurah <br />
15 : AzZaqaziq <br />
16 : Bilbeis Air Base <br />
17 : Cairo International Airport <br />
18 : Cairo West <br />
19 : Inshas Airbase <br />
20 : Hatzor <br />
21 : Palmahim <br />
22 : Sde Dov <br />
23 : Tel Nof <br />
24 : Ben-Gurion <br />
25 : St Catherine <br />
26 : Abu Rudeis <br />
27 : Baluza <br />
28 : Bir Hasanah <br />
29 : El Arish <br />
30 : El Gora<br />
<br />
|mapImage= <br />
<br />
|note= Map origin is located in Cairo, Egypt. <br />
<br />
Airbase list is as of DCS 2.8.6. <br />
<br />
}}</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=DCS_event_hit&diff=14619DCS event hit2024-02-08T22:08:27Z<p>Grimes: </p>
<hr />
<div>{{Template:DCS_events<br />
<br />
|eName=HIT<br />
<br />
|vNum= 1.2.4<br />
<br />
|id = 2<br />
<br />
|desc= Occurs whenever an object is hit by a weapon.<br />
<br />
Initiator : The unit object the fired the weapon<br />
<br />
Weapon: Weapon object that hit the target<br />
<br />
Target: The Object that was hit.<br />
<br />
<br />
|form= The shot event table is in the following format. <br />
<br />
Event = {<br />
id = 2,<br />
time = Time,<br />
initiator = [[DCS_Class_Unit|Unit]],<br />
weapon = [[DCS_Class_Weapon|Weapon]],<br />
target = [[DCS_Class_Object|Object]],<br />
}<br />
<br />
<br />
|exam=<br />
<br />
|notes= In multiplayer there are instances where the weapon object is not returned due to desync or timing issues. <br />
<br />
<br />
<br />
<br />
}}</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=DCS_task_bombing&diff=14618DCS task bombing2024-02-06T22:26:43Z<p>Grimes: </p>
<hr />
<div>{{Template:DCS_tasking<br />
<br />
|tName= Bombing<br />
<br />
|vNum= 1.2.4<br />
<br />
|type= Main task<br />
<br />
|for= Airplanes, Helicopters<br />
<br />
|desc= Assigns a point on the ground for which the AI will attack. Best used for discriminant carpet bombing of a target or having a GBU hit a specific point on the map.<br />
<br />
|avail=<br />
<br />
|form= This task needs to be in the following format. <br />
<br />
Bombing = { <br />
id = 'Bombing', <br />
params = { <br />
point = Vec2,<br />
weaponType = number, <br />
expend = enum AI.Task.WeaponExpend,<br />
attackQty = number, <br />
attackQtyLimit = boolean,<br />
direction = Azimuth, <br />
groupAttack = boolean, <br />
altitude = number<br />
altitudeEnabled = boolean,<br />
attackType = string,<br />
} <br />
}<br />
<br />
'''Required parameters''': <br />
point: vec2 coordinate of the target. Can also be an x and y values directly in params table.<br />
<br />
attackQty: Number of times the group will attack if the target. <br />
<br />
'''Optional Parameters''':<br />
All other variables are optional. Some variables require other entries, for example the boolean values require the corresponding value if the boolean is true. <br />
<br />
expend: Enum that defines how much munitions the AI will expend per attack run. <br />
<br />
attackQtyLimit: boolean that defines whether or not the attackQty value will be used. <br />
<br />
groupAttack: If true then each aircraft in the group will attack the point.<br />
<br />
altitude: Number in meters at which you want the aircraft to engage from<br />
<br />
altitudeEnabled: Boolean value for whether or not the altitude check applies <br />
<br />
attackType: string value to define the attack profile. Valid entries: <br />
"Dive" : for dive bombing. <br />
<br />
|enum= weaponType is a number associated with a correspond [[DCS_enum_weapon_flag|weapons flags]]<br />
<br />
{{Template:DCS_enum_AI_expend_list}}<br />
<br />
|exam= The following will make the group "droneyTheDrone" destroy a bridge with a pair of guided bombs.<br />
<br />
local target = {}<br />
target.point = {x = trigger.misc.getZone('bridge').point.x, y = trigger.misc.getZone('bridge').point.z}<br />
target.expend = "Two"<br />
target.weaponType = 14<br />
target.attackQty = 1<br />
local engage = {id = 'Bombing', params = target}<br />
Group.getByName('droneyTheDrone'):getController():setTask(engage)<br />
<br />
<br />
|notes= See article [[Mission Editor: AI Tasking]] for more information on how AI tasking is handled within DCS. <br />
<br />
<br />
}}<br />
[[Category:Aircraft Task|Bombing]]<br />
[[Category:Helicopter Task|Bombing]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=DCS_func_getDescByName&diff=14617DCS func getDescByName2024-01-16T23:07:33Z<p>Grimes: </p>
<hr />
<div>{{Template:dcs_funcs_multiclass<br />
<br />
|fName= getDescByName<br />
<br />
|vNum= 1.2.4<br />
<br />
|par1= [[DCS_Class_Unit|Unit]]<br />
<br />
|par2= [[DCS_Class_Static_Object|StaticObject]]<br />
<br />
|par3= [[DCS_Class_Airbase|Airbase]]<br />
<br />
|par4= [[DCS_Class_Scenery_Object|SceneryObject]]<br />
<br />
|par5= <br />
|par6=<br />
|par7=<br />
|desc= Return a description table of the specified Object type. Object does not need to be in the mission in order to query its data.<br />
<br />
Function works with [[DCS_Class_Unit|Unit]], [[DCS_Class_Static_Object|Static Object]], [[DCS_Class_Scenery_Object|Scenery Object]], [[DCS_Class_Airbase|Airbase]]<br />
<br />
|rtnType= table<br />
<br />
|rtnExample= A-10C Descriptor Table<br />
{<br />
["speedMax0"] = 236,<br />
["massEmpty"] = 11739,<br />
["tankerType"] = 0,<br />
["range"] = 1500,<br />
["box"] = {<br />
["min"] = {<br />
["y"] = -1.2815840244293,<br />
["x"] = -9.1228017807007,<br />
["z"] = -9.4672021865845,<br />
},<br />
["max"] = {<br />
["y"] = 2.3696703910828,<br />
["x"] = 7.6860585212708,<br />
["z"] = 9.4541301727295,<br />
},<br />
},<br />
["Hmax"] = 10000,<br />
["Kmax"] = 0.52999997138977,<br />
["category"] = 0,<br />
["speedMax10K"] = 134,<br />
["NyMin"] = -2,<br />
["fuelMassMax"] = 5029,<br />
["speedMax"] = 236,<br />
["NyMax"] = 5.9000000953674,<br />
["massMax"] = 21081,<br />
["RCS"] = 10,<br />
["displayName"] = "A-10C",<br />
["life"] = 32,<br />
["VyMax"] = 30,<br />
["attributes"] = {<br />
["Air"] = true,<br />
["Battle airplanes"] = true,<br />
["NonAndLightArmoredUnits"] = true,<br />
["Battleplanes"] = true,<br />
["Refuelable"] = true,<br />
["All"] = true,<br />
["Planes"] = true,<br />
["NonArmoredUnits"] = true,<br />
},<br />
["typeName"] = "A-10C",<br />
["Kab"] = 0,<br />
}<br />
<br />
|reqType1= String<br />
<br />
|reqName1= typeName<br />
<br />
|reqType2=<br />
<br />
|reqName2=<br />
<br />
|optType1=<br />
<br />
|optType2=<br />
<br />
|related= <br />
[[DCS_Class_Unit|'''Unit Functions:''']] {{listOfScriptingUnitFuncs}}<br />
<br />
[[DCS_Class_Unit|'''StaticObject Functions:''']] {{listofScriptingStaticFuncs}}<br />
<br />
[[DCS_Class_Unit|'''Airbase Functions:''']] {{listOfScriptingAirbaseFuncs}}<br />
<br />
|examples= local a10CDataTable = Unit.getDescByName('A-10C')<br />
<br />
|notes= <br />
<br />
Airbase.getDescByName was added in v1.2.6<br />
<br />
}}<br />
[[Category:Class Functions|getDescByName]]<br />
[[Category:Game Patch 1.2.4|getDescByName]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=DCS_command_setFrequencyForUnit&diff=14616DCS command setFrequencyForUnit2024-01-12T21:56:43Z<p>Grimes: Created page with " {{Template:DCS_tasking |tName= SetFrequencyForUnit |vNum= 2.5 |type= Command |for= Airplanes, Helicopters |avail= All tasks types |desc= Changes..."</p>
<hr />
<div><br />
{{Template:DCS_tasking<br />
<br />
|tName= SetFrequencyForUnit<br />
<br />
|vNum= 2.5<br />
<br />
|type= [[DCS_func_setCommand|Command]]<br />
<br />
|for= Airplanes, Helicopters<br />
<br />
|avail= All tasks types<br />
<br />
|desc= Changes the broadcasting frequency that a specific AI unit will be using. <br />
<br />
The mission editor UI generally displays frequency values in megahertz (MHz) while this command uses hertz for the value. To convert what the radio frequency would typically display in the aircraft simply multiply that value by 1000000. <br />
<br />
<br />
|form= This task needs to be in the following format. <br />
<br />
SetFrequency = { <br />
id = 'SetFrequencyForUnit', <br />
params = { <br />
frequency = number, <br />
modulation = enum radio.modulation, <br />
power = number, <br />
unitId = number,<br />
} <br />
}<br />
<br />
'''Required parameters''': <br />
<br />
frequency: Frequency value in Hz.<br />
<br />
modulation: Enum of radio modulation. AM or FM (0 or 1)<br />
<br />
power: Power of the radio in watts. 10 is a good default. <br />
<br />
unitId = number, <br />
<br />
'''Optional Parameters''':<br />
|enum= {{DCS_enum_radio_modulation}}<br />
|exam=<br />
The following will set the frequency of the unit with unitId 2 within someGroup to 131 Mhz AM.<br />
local freq = {<br />
id = "SetFrequencyForUnit",<br />
params = {<br />
power = 10,<br />
modulation = 0,<br />
frequency = 131000000,<br />
unitId = 2,<br />
}<br />
}<br />
Group.getByName("someGroup"):getController():setCommand(freq)<br />
|notes= <br />
<br />
See article [[Mission Editor: AI Tasking]] for more information on how AI tasking is handled within DCS. <br />
<br />
Could also be called via using the [[DCS_command_setFrequency|setFrequency]] command on a '''Unit''' controller. <br />
<br />
}}</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=Template:ListOfCommands&diff=14615Template:ListOfCommands2024-01-12T21:51:21Z<p>Grimes: </p>
<hr />
<div>[[DCS_command_script|script]], [[DCS_command_setCallsign|setCallsign]], [[DCS_command_setFrequency|setFrequency]], [[DCS_command_setFrequencyForUnit|setFrequencyForUnit]], [[DCS_command_switchWaypoint|switchWaypoint]], [[DCS_command_stopRoute|stopRoute]], [[DCS_command_switchAction|switchAction]], [[DCS_command_setInvisible|setInvisible]], [[DCS_command_setImmortal|setImmortal]], [[DCS_command_setUnlimitedFuel|setUnlimitedFuel]], [[DCS_command_activateBeacon|activateBeacon]], [[DCS_command_deactivateBeacon|deactivateBeacon]], [[DCS_command_activateICLS|activateICLS]], [[DCS_command_deactivateICLS|deactivateICLS]], [[DCS_command_eplrs|eplrs]], [[DCS_command_start|start]], [[DCS_command_transmitMessage|transmitMessage]], [[DCS_command_stopTransmission|stopTransmission]], [[DCS_command_smoke_on_off|smoke_on_off]], [[DCS_command_activateLink4|ActivateLink4]], [[DCS_command_deactivateLink4|deactivateLink4]], [[DCS_command_activateACLS|activateACLS]], [[DCS_command_deactivateACLS|deactivateACLS]], [[DCS_command_LoadingShip|LoadingShip]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=DCS_command_setFrequency&diff=14614DCS command setFrequency2024-01-12T21:49:18Z<p>Grimes: </p>
<hr />
<div><br />
{{Template:DCS_tasking<br />
<br />
|tName= SetFrequency<br />
<br />
|vNum= 1.2.4<br />
<br />
|type= [[DCS_func_setCommand|Command]]<br />
<br />
|for= Airplanes, Helicopters, Ground Vehicles<br />
<br />
|avail= All tasks types<br />
<br />
|desc= Changes the broadcasting frequency the AI will be using. <br />
<br />
The mission editor UI generally displays frequency values in megahertz (MHz) while this command uses hertz for the value. To convert what the radio frequency would typically display in the aircraft simply multiply that value by 1000000. <br />
<br />
<br />
|form= This task needs to be in the following format. <br />
<br />
SetFrequency = { <br />
id = 'SetFrequency', <br />
params = { <br />
frequency = number, <br />
modulation = enum radio.modulation, <br />
power = number, <br />
} <br />
}<br />
<br />
'''Required parameters''': <br />
<br />
frequency: Frequency value in Hz.<br />
<br />
modulation: Enum of radio modulation. AM or FM (0 or 1)<br />
<br />
power: Power of the radio in watts. 10 is a good default. <br />
<br />
'''Optional Parameters''':<br />
|enum= {{DCS_enum_radio_modulation}}<br />
|exam=<br />
The following will set the frequency of someGroup to 131 Mhz AM.<br />
local freq = {<br />
id = "SetFrequency",<br />
params = {<br />
power = 10,<br />
modulation = 0,<br />
frequency = 131000000,<br />
}<br />
}<br />
Group.getByName("someGroup"):getController():setCommand(freq)<br />
|notes= <br />
<br />
See article [[Mission Editor: AI Tasking]] for more information on how AI tasking is handled within DCS. <br />
<br />
<br />
}}</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=DCS_func_addSubMenu&diff=14613DCS func addSubMenu2024-01-11T21:39:33Z<p>Grimes: </p>
<hr />
<div>{{Template:dcs_funcs<br />
<br />
|fName= addSubMenu<br />
<br />
|vNum= 1.2.4<br />
<br />
|par1= [[DCS_singleton_missionCommands|missionCommands]]<br />
<br />
|par2= <br />
<br />
|par3= <br />
<br />
|par4=<br />
<br />
|desc= Creates a submenu of a specified name for all players. Can be used to create nested sub menues. If the path is not specified, submenu is added to the root menu.<br />
<br />
|rtnType= table<br />
<br />
|rtnExample= The following is a submenu named "SubMenuInRoot" that resides in the root of the F10 menu. <br />
<br />
{<br />
[1] = "SubMenuInRoot",<br />
}<br />
<br />
|reqType1= string<br />
<br />
|reqName1= name<br />
<br />
|reqType2= <br />
<br />
|reqName2= <br />
<br />
|reqType3= <br />
<br />
|reqName3= <br />
<br />
|reqType4=<br />
<br />
|optType1= table<br />
<br />
|optName1= path<br />
<br />
|optType2=<br />
<br />
|examples= The following creates a submenu named "Request Asset" and fills it with 3 options "SEAD", "CAS", and "CAP".<br />
<br />
local requestM = missionCommands.addSubMenu('Request Asset')<br />
local rSead = missionCommands.addCommand('SEAD', requestM, doRequestFunction, {type = "SEAD"})<br />
local rCAS = missionCommands.addCommand('CAS', requestM, doRequestFunction, {type = "CAS"})<br />
local rCAP= missionCommands.addCommand('CAP', requestM, doRequestFunction, {type = "CAP"})<br />
<br />
An example of how to create nested submenus...<br />
<br />
local subR = missionCommands.addSubMenu('Root SubMenu')<br />
local subN1 = missionCommands.addSubMenu('SubMenu within RootSubmenu', subR)<br />
local subN2 = missionCommands.addSubMenu('we must go deeper', subN1)<br />
local subN3 = missionCommands.addSubMenu('Go take a UX class', subN2)<br />
<br />
|related= <br />
[[DCS_singleton_missionCommands|'''missionCommands Functions:''']] {{listOfMissionCommandFuncs}}<br />
|notes= <br />
}}<br />
[[Category:Singleton Functions|addSubMenu]]<br />
[[Category:Game Patch 1.2.4|addSubMenu]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=DCS_func_addCommand&diff=14612DCS func addCommand2024-01-11T21:11:47Z<p>Grimes: </p>
<hr />
<div>{{Template:dcs_funcs<br />
<br />
|fName= addCommand<br />
<br />
|vNum= 1.2.4<br />
<br />
|par1= [[DCS_singleton_missionCommands|missionCommands]]<br />
<br />
|par2= <br />
<br />
|par3= <br />
<br />
|par4=<br />
<br />
|desc= Adds a command to the "F10 Other" radio menu allowing players to run specified scripting functions. Command is added for both teams. The string name is the text that will be displayed in the F10 Other menu and is also used in the function to remove the command from the menu. <br />
<br />
Path is an optional value that defines whether or not the command will be in a named submenu. <br />
<br />
FunctionToCall is the name of the function, with the optional argument value designating any passed values. <br />
<br />
|rtnType= table<br />
<br />
|rtnExample= Function returns a table indexed numerically indicating where in the F10 menu the command resides. <br />
<br />
{<br />
[1] = "Negative Ghostrider",<br />
}<br />
<br />
{<br />
[1] = "SubMenuInRoot", <br />
[2] = "Command in the submenu",<br />
}<br />
<br />
{ <br />
[1] = "SubMenuInRoot", <br />
[2] = "SubMenuInSubMenu", <br />
[3] = "Command in nested submenu",<br />
}<br />
<br />
|reqType1= string<br />
<br />
|reqName1= name<br />
<br />
|reqType2= table/nil<br />
<br />
|reqName2= path<br />
<br />
|reqType3= function<br />
<br />
|reqName3= functionToRun<br />
<br />
|reqType4=<br />
<br />
|optType1= any<br />
<br />
|optName1= anyArguement<br />
<br />
|optType2=<br />
<br />
|examples= <br />
The sample below will generate a base menu accessed via F10 called "Display Requests" for all users with two sub-items for a negative or positive response<br />
<br />
local function displayReqeusts(vars)<br />
if vars.flyby == true then<br />
trigger.action.outText("Roger that Ghostrider, you may do a flyby.", 20)<br />
else<br />
trigger.action.outText("Negative Ghostrider, the pattern is full", 20)<br />
end<br />
end<br />
local displayRequests = missionCommands.addSubMenu( "Display Requests")<br />
local negativeReply = missionCommands.addCommand( "Negative Ghostrider", displayRequests , displayMsg, {flyby = false})<br />
local positiveReply = missionCommands.addCommand( "Roger Ghostrider", displayRequests , displayMsg, {flyby = true})<br />
<br />
<br />
|related= <br />
[[DCS_singleton_missionCommands|'''missionCommands Functions:''']] {{listOfMissionCommandFuncs}}<br />
|notes= <br />
}}<br />
[[Category:Singleton Functions|addCommand]]<br />
[[Category:Game Patch 1.2.4|addCommand]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=DCS_editor_FAQ&diff=14611DCS editor FAQ2024-01-05T09:17:01Z<p>Grimes: </p>
<hr />
<div><br />
==Mission Editor Frequently Asked Questions==<br />
<br />
__TOC__<br />
<br />
=== Why is a unit missing from a country!? ===<br />
[[File:Historical mode.png|400px|thumb|right|Historical Mode UI]]<br />
A: The unit is missing from a database that assigns it to a given country. The most common answer is that you are in "Historical Mode" which limits the selection of units based on the current date of a mission. This option can be toggled on or off at any time while editing the mission via the '''''watch icon''''' on the bottom bar. You will also see the year added at the top of the group panel. <br />
<br />
Note screenshot. There are more unit types to choose from (scroll bar) and three new ship types are visible. Two are WW2 era ships and the Tarawa class was taken out of service in 2009. Thus the 3 ships are not available in the year 2016.<br />
<br />
<br />
=== Why can't I see a livery? ===<br />
A: Liveries are assigned on a per country basis in its description.lua file. It is associated with an table named "countries" with a list of the "short names" of each country that the livery will be available for. If this entry is missing then the livery is available for all countries. For example a common entry for aggressor liveries will be available for USA and the "USAF Aggressors" countries. <br />
countries = {"USA","AUSAF"}<br />
<br />
=== Why doesn't this trigger execute? ===<br />
[[File:Faq mission start.jpg]]<br />
A: The trigger is set to execute once at mission start. It is impossible for the condition that checks the time it was executed at to be more than anything else. <br />
<br />
=== Why do AI aircraft keep attacking before I want them to? ===<br />
[[File:default tasks.png|400px|thumb|right|Default Task example]]<br />
A1: Most likely it has to do with the tasking they are given. By default whenever you place a group most of the task types will add a pre-assigned task. This will occur with the AFAC, Anti-ship, AWACs, CAP, CAS, Fighter Sweep, SEAD, and Refueling tasks. It is '''only a real problem with the Anti-ship, CAP, CAS, fighter sweep, and SEAD''' tasks as these tasks are effectively just a "Search Then Engage" task. When active the AI will attack any valid target that is detected at any range. It is great for just placing an AI and watching them attack something with no other setup. It is not so great when you want AI to do something specific. <br />
<br />
In the sample screenshot to the right default task is highlighted and the AI are assigned to do SEAD, Search then engage in two zones, restrict jettison, and to orbit at the waypoint. The AI is allowed to attack any SAM site that is detected before arriving at the waypoint.<br />
<br />
'''Solution: Delete the default task.''' <br />
<br />
A2: It is also possible that the group's "Rules of Engagement" setting (ROE) is set to "Weapons Free" or "Priority Designated". With either of these settings the AI is allowed to go "off mission" and attack any target it is capable of. This includes F-15C armed only with A2A weapons deciding to do a gun run on a truck it saw. <br />
<br />
'''Solution: Set ROE to "Only Designated"'''<br />
=== Why don't the AI attack enough? All their missiles keep getting shot down! ===<br />
The default attack behavior within an AI group is to only use enough munitions to kill a given target. When using an AGM-88 HARM against a radar target the one missile is enough to kill it. The AI don't consider that the missile can get intercepted by the sam site it is targeting. Likewise a ship may take multiple missiles to be destroyed.<br />
<br />
'''Solution: Use search then engage unit or attack unit tasks.''' These tasks have options that allow you to customize the attack behavior. <br />
Group Attack: Which allows each member of the group to attack at the same time. All 4 would fire a single AGM-88 at a radar for example. <br />
Max Attack Quantity: Allows for multiple attack runs to be executed before the first attack completes. Essentially AI won't wait for the missile to be shot down before re-attacking. <br />
Release Quantity: Requires the weapon to be defined, but allows for a specified number of weapons to be launched per attack. For example set the quantity to 4 and use group attack setting would result in a 4 ship armed with 4 missiles each to launch all of their missiles. <br />
<br />
=== Why isn't an AI task, option, or command working? ===<br />
[[File:task_block_sample.PNG|400px|thumb|left|TaskBlock]]<br />
It most likely is caused by the task queue. Put simply tasks are assigned sequentially in the list, however some tasks must be finished before moving on to the next task in the list. The tasks that can cause other tasks to wait to be assigned are only in the "'''Perform Task'''" category. Some of these tasks can end naturally, for instance "attack unit" is complete when the unit is dead. Otherwise stop conditions will need to be added. <br />
<br />
In the example to the left the orbit task blocks setting the option to restrict jettison. The orbit task has no end condition and will effectively be active until the aircraft runs out of fuel and lands. Simply swapping the order will allow the jettison option to be set. It is typically a good idea to always add any commands and options at the top of the queue.<br />
<br />
=== I asked chatGPT to write scripting code, why doesn't it work? ===<br />
Sounds like something you need to take up with chatGPT first. If you don't know what to look for then debugging what it generates does more harm than good. <br />
<br />
[[Category: DCS World]]<br />
[[Category:Mission Editor|FAQ]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=Template:ListOfScriptingAirbaseFuncs&diff=14610Template:ListOfScriptingAirbaseFuncs2023-12-19T22:55:41Z<p>Grimes: </p>
<hr />
<div>[[DCS_func_getCallsign|getCallsign]], [[DCS_func_getUnit|getUnit]], [[DCS_func_getID|getID]], [[DCS_func_getCategoryEx|getCategoryEx]], [[DCS_func_getParking|getParking]], [[DCS_func_getRunways|getRunways]], [[DCS_func_getTechObjectPos|getTechObjectPos]], [[DCS_func_getRadioSilentMode|getRadioSilentMode]], [[DCS_func_setRadioSilentMode|setRadioSilentMode]], [[DCS_func_autoCapture|autoCapture]], [[DCS_func_autoCaptureIsOn|autoCaptureIsOn]], [[DCS_func_setCoalition|setCoalition]], [[DCS_func_getWarehouse|getWarehouse]],</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=Template:ListOfScriptingWeaponFuncs&diff=14609Template:ListOfScriptingWeaponFuncs2023-12-19T22:55:19Z<p>Grimes: </p>
<hr />
<div>[[DCS_func_getLauncher|getLauncher]], [[DCS_func_getTarget|getTarget]], [[DCS_func_getCategoryEx|getCategoryEx]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=Template:ListOfScriptingUnitFuncs&diff=14608Template:ListOfScriptingUnitFuncs2023-12-19T22:54:57Z<p>Grimes: </p>
<hr />
<div>[[DCS_func_isActive| isActive]], [[DCS_func_getPlayerName|getPlayerName]], [[DCS_func_getID|getID]], [[DCS_func_getNumber|getNumber]], [[DCS_func_getCategoryEx|getCategoryEx]], [[DCS_func_getObjectID|getObjectID]], [[DCS_func_getController|getController]], [[DCS_func_getGroup|getGroup]], [[DCS_func_getCallsign|getCallsign]], [[DCS_func_getLife|getLife]], [[DCS_func_getLife0|getLife0]], [[DCS_func_getFuel|getFuel]], [[DCS_func_getAmmo|getAmmo]], [[DCS_func_getSensors|getSensors]], [[DCS_func_hasSensors|hasSensors]], [[DCS_func_getRadar|getRadar]], [[DCS_func_getDrawArgumentValue|getDrawArgumentValue]], [[DCS_func_getNearestCargos|getNearestCargos]], [[DCS_func_enableEmission|enableEmission]], [[DCS_func_getDescentCapacity|getDescentCapacity]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=DCS_func_getCategory&diff=14607DCS func getCategory2023-12-19T22:54:14Z<p>Grimes: </p>
<hr />
<div>{{Template:dcs_funcs<br />
<br />
|fName= getCategory<br />
<br />
|vNum= 1.2.0<br />
<br />
|par1= [[DCS_Class_Object|Object]]<br />
<br />
|par2= [[DCS_Class_Group|Group]]<br />
<br />
|par3= [[DCS_Class_Spot| Spot]]<br />
<br />
|par4= [[DCS_Class_Airbase|Airbase]]<br />
<br />
|desc= Returns an enumerator of the category for the specific object. The enumerator returned is dependent on the category of the object and how the function is called. As of DCS 2.9.2 when this function is called on an Object, Unit, Weapon, or Airbase a 2nd value will be returned which details the object sub-category value. <br />
<br />
See enumerators Group.Category, Object.Category, and Spot.Category for further reference. <br />
<br />
Function also works with [[DCS_Class_Unit|Unit]], [[DCS_Class_Weapon|Weapon]], [[DCS_Class_Static_Object|Static Object]], [[DCS_Class_Scenery_Object|Scenery Object]], [[DCS_Class_Airbase|Airbase]]. <br />
<br />
<br />
<br />
<br />
|rtnType= enum, enum<br />
<br />
|rtnExample= number<br />
<br />
|reqType1= Class<br />
<br />
|reqName1= Self<br />
<br />
|reqType2=<br />
<br />
|reqName2=<br />
<br />
|optType1=<br />
<br />
|optType2=<br />
<br />
|related= <br />
[[DCS_Class_Object|'''Object Functions:''']] {{listofScriptingObjectFuncs}}<br />
<br />
[[DCS_Class_Group|'''Group Functions:''']] {{listOfScriptingGroupFuncs}}<br />
<br />
[[DCS_Class_Spot|'''Spot Functions:''']] {{listofScriptingSpotFuncs}}<br />
<br />
|examples= The following is run on a ship unit named CVN75.<br />
<br />
local unit = Unit.getByName("CVN75")<br />
env.info(unit:getCategory() -> 1, 3 (Object category for a unit, unit category for a ship)<br />
env.info(Object.getCategory(unit) - > 1 (object category for a unit)<br />
env.info(Airbase.getCategory(unit) -> 2 (airbase category for a ship)<br />
<br />
|notes= From DCS 1.5.7 and DCS 2.1.1 (Nov 2017) this function was broken. It has been fixed in DCS 2.9.1 (Nov 2023). In this timeframe it would always return the result of Object.getCategory() no matter how the function was called. Users were required to use getDesc().category to get the correct category value within its subclass. <br />
<br />
DCS 2.9.2 reverted the change in DCS 2.9.1. Now all callings of the function on objects will return the Object<br />
<br />
}}<br />
[[Category:Class Functions|getCategory]]<br />
[[Category:Game Patch 1.2.0|getCategory]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=DCS_func_getCategoryEx&diff=14606DCS func getCategoryEx2023-12-19T22:54:11Z<p>Grimes: Created page with "{{Template:dcs_funcs |fName= getCategoryEx |vNum= 2.9.2 |par1= Unit |par2= Airbase |par3= Weapon |par4= D..."</p>
<hr />
<div>{{Template:dcs_funcs<br />
<br />
|fName= getCategoryEx<br />
<br />
|vNum= 2.9.2<br />
<br />
|par1= [[DCS_Class_Unit|Unit]]<br />
<br />
|par2= [[DCS_Class_Airbase|Airbase]]<br />
<br />
|par3= [[DCS_Class_Weapon|Weapon]]<br />
<br />
|par4= [[DCS_Class_Group|Group]]<br />
<br />
|desc= Returns an enumerator of the category for the specific object. The enumerator returned is dependent on the category of the object and how the function is called. <br />
<br />
See enumerators Group.Category, Object.Category, and Spot.Category for further reference. <br />
<br />
Function also works with [[DCS_Class_Unit|Unit]], [[DCS_Class_Weapon|Weapon]], [[DCS_Class_Static_Object|Static Object]], [[DCS_Class_Scenery_Object|Scenery Object]], [[DCS_Class_Airbase|Airbase]]. <br />
<br />
Unit.getCategoryEx(obj) will return the unit category. <br />
<br />
obj:getCategoryEx() will return the unit category. <br />
<br />
<br />
<br />
|rtnType= enum<br />
<br />
|rtnExample= number<br />
<br />
|reqType1= Class<br />
<br />
|reqName1= Self<br />
<br />
|reqType2=<br />
<br />
|reqName2=<br />
<br />
|optType1=<br />
<br />
|optType2=<br />
<br />
|related= <br />
[[DCS_Class_Object|'''Object Functions:''']] {{listofScriptingObjectFuncs}}<br />
<br />
[[DCS_Class_Group|'''Group Functions:''']] {{listOfScriptingGroupFuncs}}<br />
<br />
[[DCS_Class_Spot|'''Spot Functions:''']] {{listofScriptingSpotFuncs}}<br />
<br />
|examples= The following is run on a ship unit named CVN75.<br />
<br />
local unit = Unit.getByName("CVN75")<br />
env.info(unit:getCategoryEx() -> 3 (unit category for a ship)<br />
env.info(Airbase.getCategoryEx(unit) -> 2 (airbase category for a ship)<br />
<br />
|notes= Function exists group Group and Spot classes, I have no idea why. <br />
<br />
}}<br />
[[Category:Class Functions|getCategoryEx]]<br />
[[Category:Game Patch 2.9.2|getCategoryEx]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=DCS_func_addGroup&diff=14605DCS func addGroup2023-12-12T02:22:28Z<p>Grimes: </p>
<hr />
<div>{{Template:dcs_funcs<br />
<br />
|fName= addGroup<br />
<br />
|vNum= 1.2.4<br />
<br />
|par1= [[DCS_singleton_coalition|coalition]]<br />
<br />
|par2= <br />
<br />
|par3= <br />
<br />
|par4=<br />
<br />
|desc= Dynamically spawns a group of the specified category for the specified country. Group data table is in the same format as created by the mission editor. <br />
<br />
See [[DCS_enum_country|country page]] and [[DCS_Class_Group|group class page]] for the list of countries by id and group categories.<br />
<br />
The coalition of the group is defined by the coalition its country belongs to.<br />
<br />
If the group or any unit within shares a name of an existing group or unit, the existing group or unit will be destroyed when the new group is created. <br />
<br />
Function can NOT spawn new aircraft with a skill level of "client". However in single player a group can be spawned with the skill level of "Player". When this occurs the existing player aircraft will be destroyed. <br />
<br />
If no groupId or unitId is specified or the Ids are shared with existing groups or units, a new Id will be created for the new group.<br />
<br />
|rtnType= Group<br />
<br />
|rtnExample= none<br />
<br />
|reqType1= enum<br />
<br />
|reqName1= countryId<br />
<br />
|reqType2= enum<br />
<br />
|reqName2= groupCategory<br />
<br />
|reqType3= table<br />
<br />
|reqName3= groupData<br />
<br />
|reqType4=<br />
<br />
|optType1=<br />
<br />
|optType2=<br />
<br />
|examples= Detailed Examples Linked Below: <br />
[[DCS_exam_group_ground|Ground Group]]<br />
[[DCS_exam_group_ship|Ship Group]] <br />
[[DCS_exam_group_heli|Helicopter Group]]<br />
[[DCS_exam_group_plane|Plane Group]]<br />
<br />
<br />
A basic table for a ground unit<br />
<pre><br />
local groupData = {<br />
["visible"] = false,<br />
["taskSelected"] = true,<br />
["route"] = <br />
{<br />
}, -- end of ["route"]<br />
["groupId"] = 2,<br />
["tasks"] = <br />
{<br />
}, -- end of ["tasks"]<br />
["hidden"] = false,<br />
["units"] = <br />
{<br />
[1] = <br />
{<br />
["type"] = "LAV-25",<br />
["transportable"] = <br />
{<br />
["randomTransportable"] = false,<br />
}, -- end of ["transportable"]<br />
["unitId"] = 2,<br />
["skill"] = "Average",<br />
["y"] = 616314.28571429,<br />
["x"] = -288585.71428572,<br />
["name"] = "Ground Unit1",<br />
["playerCanDrive"] = true,<br />
["heading"] = 0.28605144170571,<br />
}, -- end of [1]<br />
}, -- end of ["units"]<br />
["y"] = 616314.28571429,<br />
["x"] = -288585.71428572,<br />
["name"] = "Ground Group",<br />
["start_time"] = 0,<br />
["task"] = "Ground Nothing",<br />
} -- end of [1]<br />
<br />
coalition.addGroup(country.id.USA, Group.Category.GROUND, groupData)<br />
</pre><br />
<br />
Required Group values<br />
name string for the group name<br />
task string for the master task that will dictate core AI behavior<br />
<br />
Optional Group Values<br />
groupId number groupId<br />
start_time number time in seconds after mission start time that the group will spawn in. If 0 the group will spawn immediately.<br />
lateActivation boolean value that can override start_time to force the group to spawn in via trigger<br />
hidden boolean whether or not the group is visible on the F10 map view<br />
hiddenOnPlanner boolean if true the group will be hidden on the mission planner available in single player. <br />
hiddenOnMFD boolean if true this group will not be auto populated on relevant aircraft map screens and avionics. For instance SAM rings in F-16/F-18 and AH-64 threats pages<br />
route table complex table defining the route and tasks assigned to the group<br />
<br />
Optional Group Values (Aircraft and Helicopters)<br />
uncontrolled boolean for ground starts, whether or not the aircraft will be visible but not active<br />
modulation number (0 or 1) for AM or FM radio<br />
frequency number of the radio frequency the unit will broadcast to<br />
communication boolean for whether or not the group will communicate over the radio<br />
<br />
Optional Group Values (Ground and Ships)<br />
visible boolean For whether or not the group is visible before its start time<br />
uncontrollable boolean corresponds to "Game Master Only" setting in editor. Dictates whether or not ground commanders can give orders to the group.<br />
<br />
Optional Group Values (Ground only)<br />
<br />
manualHeading boolean When spawned with a route assigned each unit in the group will automatically be pointing toward the next waypoint in the route. When set to true each unit will respect their own heading value. <br />
<br />
Required Unit values<br />
name name for the type of object<br />
type string for the type of object<br />
x number for x coordinate<br />
y number for y coordinate<br />
<br />
Required Unit Values for Aircraft and Helicopters<br />
alt number altitude in meters<br />
alt_type string "BARO" or "RADIO" for Above sea level or above ground level<br />
speed number velocity the aircraft will spawn at measured in meters per second<br />
payload table of the aircrafts payload including fuel, weapons, and countermeasures<br />
callsign table/number of the callsign for the unit. NATO countries use a table to define callsigns while the Russian style uses a number <br />
<br />
Optional Unit Values<br />
unitId number unitId<br />
heading number heading of the object in radians<br />
skill string of the units skill level. Can be "Excellent", "High", "Good", "Average", "Random", "Player"<br />
<br />
Optional Unit Values for Ground<br />
<br />
coldAtStart boolean if true the vehicle will start with its engine off and should take some time to appear on FLIR<br />
playerCanDrive boolean if true Combined Arms players can take direct control of the unit. <br />
<br />
<br />
Aircraft and Helicopter values<br />
livery_id string name of the livery for the aircraft<br />
psi number<br />
onboard_num string of the tail number on the aircraft<br />
<br />
Helicopter Values<br />
ropeLength number length of a rope used for sling loading, default is 15<br />
|related= <br />
[[DCS_singleton_coalition|'''Coalition Functions:''']] {{ListOfCoalitionFuncs}}<br />
<br />
|notes= You '''''MUST''''' have a built in delay before accessing the group or units controllers and issuing tasks, commands or options of the group spawned. Otherwise the you are likely to cause a game crash. <br />
<br />
Route table can be empty or assigned to the group after spawning using [[DCS_func_getController|getController]] and [[DCS_func_pushTask|pushTask]] functions.<br />
See [[DCS_task_mission|page on mission task]] for more information regarding the route table. <br />
<br />
FARPs are spawned using the addGroup function, with groupCategory set to -1<br />
<br />
Payload table<br />
<br />
}}<br />
[[Category:Singleton Functions|addGroup]]<br />
[[Category:Game Patch 1.2.4|addGroup]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=DCS_exam_group_plane&diff=14604DCS exam group plane2023-11-27T23:16:24Z<p>Grimes: </p>
<hr />
<div><pre><br />
plane = <br />
{<br />
["frequency"] = 305,<br />
["modulation"] = 0,<br />
["groupId"] = 3,<br />
["tasks"] = <br />
{<br />
}, -- end of ["tasks"]<br />
["route"] = <br />
{<br />
["points"] = <br />
{<br />
[1] = <br />
{<br />
["alt"] = 18,<br />
["type"] = "TakeOffParking",<br />
["action"] = "From Parking Area",<br />
["alt_type"] = "BARO",<br />
["form"] = "From Parking Area",<br />
["y"] = 636897.0625,<br />
["x"] = -317688.125,<br />
["speed"] = 138.88888888889,<br />
["task"] = <br />
{<br />
["id"] = "ComboTask",<br />
["params"] = <br />
{<br />
["tasks"] = <br />
{<br />
[1] = <br />
{<br />
["enabled"] = true,<br />
["auto"] = true,<br />
["id"] = "WrappedAction",<br />
["number"] = 1,<br />
["params"] = <br />
{<br />
["action"] = <br />
{<br />
["id"] = "EPLRS",<br />
["params"] = <br />
{<br />
["value"] = true,<br />
["groupId"] = 1,<br />
}, -- end of ["params"]<br />
}, -- end of ["action"]<br />
}, -- end of ["params"]<br />
}, -- end of [1]<br />
}, -- end of ["tasks"]<br />
}, -- end of ["params"]<br />
}, -- end of ["task"]<br />
["airdromeId"] = 24,<br />
}, -- end of [1]<br />
[2] = <br />
{<br />
["alt"] = 2000,<br />
["type"] = "Turning Point",<br />
["action"] = "Turning Point",<br />
["alt_type"] = "BARO",<br />
["form"] = "Turning Point",<br />
["y"] = 607700.3313189,<br />
["x"] = -323593.64529911,<br />
["speed"] = 138.88888888889,<br />
["task"] = <br />
{<br />
["id"] = "ComboTask",<br />
["params"] = <br />
{<br />
["tasks"] = <br />
{<br />
}, -- end of ["tasks"]<br />
}, -- end of ["params"]<br />
}, -- end of ["task"]<br />
}, -- end of [2]<br />
[3] = <br />
{<br />
["alt"] = 2000,<br />
["type"] = "Turning Point",<br />
["action"] = "Turning Point",<br />
["alt_type"] = "BARO",<br />
["form"] = "Turning Point",<br />
["y"] = 601619.56776342,<br />
["x"] = -292447.60082171,<br />
["speed"] = 219.44444444444,<br />
["task"] = <br />
{<br />
["id"] = "ComboTask",<br />
["params"] = <br />
{<br />
["tasks"] = <br />
{<br />
[1] = <br />
{<br />
["enabled"] = true,<br />
["auto"] = false,<br />
["id"] = "EngageTargetsInZone",<br />
["number"] = 1,<br />
["params"] = <br />
{<br />
["y"] = 611355.51755602,<br />
["x"] = -300260.40003799,<br />
["targetTypes"] = <br />
{<br />
[1] = "Air",<br />
}, -- end of ["targetTypes"]<br />
["value"] = "Air;",<br />
["noTargetTypes"] = <br />
{<br />
[2] = "Antiship Missiles",<br />
[3] = "AA Missiles",<br />
[1] = "Cruise missiles",<br />
[4] = "AG Missiles",<br />
[5] = "SA Missiles",<br />
}, -- end of ["noTargetTypes"]<br />
["priority"] = 0,<br />
["zoneRadius"] = 100000,<br />
}, -- end of ["params"]<br />
}, -- end of [1]<br />
[2] = <br />
{<br />
["enabled"] = true,<br />
["auto"] = false,<br />
["id"] = "Orbit",<br />
["number"] = 2,<br />
["params"] = <br />
{<br />
["altitude"] = 2000,<br />
["pattern"] = "Circle",<br />
["speed"] = 138.88888888889,<br />
}, -- end of ["params"]<br />
}, -- end of [2]<br />
}, -- end of ["tasks"]<br />
}, -- end of ["params"]<br />
}, -- end of ["task"]<br />
}, -- end of [3]<br />
[4] = <br />
{<br />
["alt"] = 13,<br />
["type"] = "Land",<br />
["action"] = "Landing",<br />
["alt_type"] = "BARO",<br />
["form"] = "Landing",<br />
["y"] = 647279.46875,<br />
["x"] = -281782.46875,<br />
["speed"] = 138.88888888889,<br />
["task"] = <br />
{<br />
["id"] = "ComboTask",<br />
["params"] = <br />
{<br />
["tasks"] = <br />
{<br />
}, -- end of ["tasks"]<br />
}, -- end of ["params"]<br />
}, -- end of ["task"]<br />
["airdromeId"] = 23,<br />
}, -- end of [4]<br />
}, -- end of ["points"]<br />
}, -- end of ["route"]<br />
["hidden"] = false,<br />
["units"] = <br />
{<br />
[1] = <br />
{<br />
["alt"] = 18,<br />
["hardpoint_racks"] = true,<br />
["alt_type"] = "BARO",<br />
["livery_id"] = "Dark_Viper",<br />
["skill"] = "Excellent",<br />
["parking"] = "15",<br />
["speed"] = 138.88888888889,<br />
["AddPropAircraft"] = <br />
{<br />
}, -- end of ["AddPropAircraft"]<br />
["type"] = "F-16C_50",<br />
["unitId"] = 10,<br />
["psi"] = 1.7703702498393,<br />
["parking_id"] = "30",<br />
["x"] = -317688.125,<br />
["name"] = "Aerial-1-1",<br />
["payload"] = <br />
{<br />
["pylons"] = <br />
{<br />
[7] = <br />
{<br />
["CLSID"] = "{6CEB49FC-DED8-4DED-B053-E1F033FF72D3}",<br />
}, -- end of [7]<br />
[1] = <br />
{<br />
["CLSID"] = "{C8E06185-7CD6-4C90-959F-044679E90751}",<br />
}, -- end of [1]<br />
[2] = <br />
{<br />
["CLSID"] = "{C8E06185-7CD6-4C90-959F-044679E90751}",<br />
}, -- end of [2]<br />
[4] = <br />
{<br />
["CLSID"] = "{F376DBEE-4CAE-41BA-ADD9-B2910AC95DEC}",<br />
}, -- end of [4]<br />
[8] = <br />
{<br />
["CLSID"] = "{C8E06185-7CD6-4C90-959F-044679E90751}",<br />
}, -- end of [8]<br />
[9] = <br />
{<br />
["CLSID"] = "{C8E06185-7CD6-4C90-959F-044679E90751}",<br />
}, -- end of [9]<br />
[5] = <br />
{<br />
["CLSID"] = "<CLEAN>",<br />
}, -- end of [5]<br />
[3] = <br />
{<br />
["CLSID"] = "{6CEB49FC-DED8-4DED-B053-E1F033FF72D3}",<br />
}, -- end of [3]<br />
[6] = <br />
{<br />
["CLSID"] = "{F376DBEE-4CAE-41BA-ADD9-B2910AC95DEC}",<br />
}, -- end of [6]<br />
}, -- end of ["pylons"]<br />
["fuel"] = 3249,<br />
["flare"] = 60,<br />
["ammo_type"] = 5,<br />
["chaff"] = 60,<br />
["gun"] = 100,<br />
}, -- end of ["payload"]<br />
["onboard_num"] = "010",<br />
["callsign"] = <br />
{<br />
[1] = 1,<br />
[2] = 1,<br />
["name"] = "Enfield11",<br />
[3] = 1,<br />
}, -- end of ["callsign"]<br />
["heading"] = -1.7703702498393,<br />
["y"] = 636897.0625,<br />
}, -- end of [1]<br />
[2] = <br />
{<br />
["alt"] = 18,<br />
["hardpoint_racks"] = true,<br />
["alt_type"] = "BARO",<br />
["livery_id"] = "default",<br />
["skill"] = "Excellent",<br />
["parking"] = "14",<br />
["speed"] = 138.88888888889,<br />
["AddPropAircraft"] = <br />
{<br />
}, -- end of ["AddPropAircraft"]<br />
["type"] = "F-16C_50",<br />
["unitId"] = 11,<br />
["psi"] = 1.7703702498393,<br />
["parking_id"] = "29",<br />
["x"] = -317854.40625,<br />
["name"] = "Aerial-1-2",<br />
["payload"] = <br />
{<br />
["pylons"] = <br />
{<br />
[7] = <br />
{<br />
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",<br />
}, -- end of [7]<br />
[1] = <br />
{<br />
["CLSID"] = "{40EF17B7-F508-45de-8566-6FFECC0C1AB8}",<br />
}, -- end of [1]<br />
[2] = <br />
{<br />
["CLSID"] = "{40EF17B7-F508-45de-8566-6FFECC0C1AB8}",<br />
}, -- end of [2]<br />
[4] = <br />
{<br />
["CLSID"] = "{F376DBEE-4CAE-41BA-ADD9-B2910AC95DEC}",<br />
}, -- end of [4]<br />
[8] = <br />
{<br />
["CLSID"] = "{40EF17B7-F508-45de-8566-6FFECC0C1AB8}",<br />
}, -- end of [8]<br />
[9] = <br />
{<br />
["CLSID"] = "{40EF17B7-F508-45de-8566-6FFECC0C1AB8}",<br />
}, -- end of [9]<br />
[5] = <br />
{<br />
["CLSID"] = "<CLEAN>",<br />
}, -- end of [5]<br />
[3] = <br />
{<br />
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",<br />
}, -- end of [3]<br />
[6] = <br />
{<br />
["CLSID"] = "{F376DBEE-4CAE-41BA-ADD9-B2910AC95DEC}",<br />
}, -- end of [6]<br />
}, -- end of ["pylons"]<br />
["fuel"] = 3249,<br />
["flare"] = 60,<br />
["ammo_type"] = 5,<br />
["chaff"] = 60,<br />
["gun"] = 100,<br />
}, -- end of ["payload"]<br />
["onboard_num"] = "011",<br />
["callsign"] = <br />
{<br />
[1] = 1,<br />
[2] = 1,<br />
["name"] = "Enfield12",<br />
[3] = 2,<br />
}, -- end of ["callsign"]<br />
["heading"] = -1.7703702498393,<br />
["y"] = 636854.6875,<br />
}, -- end of [2]<br />
}, -- end of ["units"]<br />
["y"] = 636897.0625,<br />
["radioSet"] = false,<br />
["name"] = "Aerial-1",<br />
["communication"] = true,<br />
["x"] = -317688.125,<br />
["start_time"] = 0,<br />
["task"] = "CAP",<br />
["uncontrolled"] = false,<br />
} -- end of plane<br />
</pre><br />
<br />
[[Category: Examples|group table planes]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=DCS_exam_group_heli&diff=14603DCS exam group heli2023-11-27T23:16:09Z<p>Grimes: </p>
<hr />
<div><pre><br />
heli = <br />
{<br />
["frequency"] = 127.5,<br />
["modulation"] = 0,<br />
["groupId"] = 5,<br />
["tasks"] = <br />
{<br />
}, -- end of ["tasks"]<br />
["route"] = <br />
{<br />
["points"] = <br />
{<br />
[1] = <br />
{<br />
["alt"] = 10,<br />
["type"] = "TakeOffParking",<br />
["action"] = "From Parking Area",<br />
["alt_type"] = "BARO",<br />
["form"] = "From Parking Area",<br />
["y"] = 622076.61801342,<br />
["x"] = -267973.77528983,<br />
["speed"] = 41.666666666667,<br />
["task"] = <br />
{<br />
["id"] = "ComboTask",<br />
["params"] = <br />
{<br />
["tasks"] = <br />
{<br />
}, -- end of ["tasks"]<br />
}, -- end of ["params"]<br />
}, -- end of ["task"]<br />
["helipadId"] = 12,<br />
}, -- end of [1]<br />
[2] = <br />
{<br />
["alt"] = 2000,<br />
["type"] = "Turning Point",<br />
["action"] = "Turning Point",<br />
["alt_type"] = "BARO",<br />
["form"] = "Turning Point",<br />
["y"] = 615899.60909444,<br />
["x"] = -279297.64010796,<br />
["speed"] = 41.666666666667,<br />
["task"] = <br />
{<br />
["id"] = "ComboTask",<br />
["params"] = <br />
{<br />
["tasks"] = <br />
{<br />
}, -- end of ["tasks"]<br />
}, -- end of ["params"]<br />
}, -- end of ["task"]<br />
}, -- end of [2]<br />
[3] = <br />
{<br />
["alt"] = 2000,<br />
["type"] = "Turning Point",<br />
["action"] = "Turning Point",<br />
["alt_type"] = "BARO",<br />
["form"] = "Turning Point",<br />
["y"] = 629730.91889102,<br />
["x"] = -278300.78895145,<br />
["speed"] = 41.666666666667,<br />
["task"] = <br />
{<br />
["id"] = "ComboTask",<br />
["params"] = <br />
{<br />
["tasks"] = <br />
{<br />
}, -- end of ["tasks"]<br />
}, -- end of ["params"]<br />
}, -- end of ["task"]<br />
}, -- end of [3]<br />
[4] = <br />
{<br />
["alt"] = 13,<br />
["type"] = "Land",<br />
["action"] = "Landing",<br />
["alt_type"] = "BARO",<br />
["form"] = "Landing",<br />
["y"] = 647279.46875,<br />
["x"] = -281782.46875,<br />
["speed"] = 41.666666666667,<br />
["task"] = <br />
{<br />
["id"] = "ComboTask",<br />
["params"] = <br />
{<br />
["tasks"] = <br />
{<br />
}, -- end of ["tasks"]<br />
}, -- end of ["params"]<br />
}, -- end of ["task"]<br />
["airdromeId"] = 23,<br />
}, -- end of [4]<br />
}, -- end of ["points"]<br />
}, -- end of ["route"]<br />
["hidden"] = false,<br />
["units"] = <br />
{<br />
[1] = <br />
{<br />
["alt"] = 10,<br />
["hardpoint_racks"] = true,<br />
["alt_type"] = "BARO",<br />
["livery_id"] = "Mi-17 CIA Afghanistan",<br />
["skill"] = "High",<br />
["parking"] = "1",<br />
["ropeLength"] = 15,<br />
["speed"] = 41.666666666667,<br />
["AddPropAircraft"] = <br />
{<br />
["ExhaustScreen"] = false,<br />
["CargoHalfdoor"] = true,<br />
["GunnersAISkill"] = 90,<br />
["AdditionalArmor"] = false,<br />
["NS430allow"] = true,<br />
}, -- end of ["AddPropAircraft"]<br />
["type"] = "Mi-8MT",<br />
["unitId"] = 13,<br />
["psi"] = 2.6422217449925,<br />
["parking_id"] = "1",<br />
["x"] = -267973.77528983,<br />
["name"] = "Rotary-1-1",<br />
["payload"] = <br />
{<br />
["pylons"] = <br />
{<br />
}, -- end of ["pylons"]<br />
["fuel"] = "1929",<br />
["flare"] = 128,<br />
["chaff"] = 0,<br />
["gun"] = 100,<br />
}, -- end of ["payload"]<br />
["onboard_num"] = "050",<br />
["callsign"] = <br />
{<br />
[1] = 2,<br />
[2] = 1,<br />
["name"] = "Springfield11",<br />
[3] = 1,<br />
}, -- end of ["callsign"]<br />
["heading"] = -2.6422217449925,<br />
["y"] = 622076.61801342,<br />
}, -- end of [1]<br />
[2] = <br />
{<br />
["alt"] = 10,<br />
["hardpoint_racks"] = true,<br />
["alt_type"] = "BARO",<br />
["livery_id"] = "USA_AFG",<br />
["skill"] = "High",<br />
["ropeLength"] = 15,<br />
["speed"] = 41.666666666667,<br />
["AddPropAircraft"] = <br />
{<br />
["ExhaustScreen"] = true,<br />
["CargoHalfdoor"] = true,<br />
["GunnersAISkill"] = 90,<br />
["AdditionalArmor"] = true,<br />
["NS430allow"] = true,<br />
}, -- end of ["AddPropAircraft"]<br />
["type"] = "Mi-8MT",<br />
["unitId"] = 14,<br />
["psi"] = 2.6422217449925,<br />
["y"] = 622116.61801342,<br />
["x"] = -268013.77528983,<br />
["name"] = "Rotary-1-2",<br />
["payload"] = <br />
{<br />
["pylons"] = <br />
{<br />
[7] = <br />
{<br />
["CLSID"] = "KORD_12_7",<br />
}, -- end of [7]<br />
[8] = <br />
{<br />
["CLSID"] = "PKT_7_62",<br />
}, -- end of [8]<br />
}, -- end of ["pylons"]<br />
["fuel"] = "1929",<br />
["flare"] = 128,<br />
["chaff"] = 0,<br />
["gun"] = 100,<br />
}, -- end of ["payload"]<br />
["onboard_num"] = "051",<br />
["callsign"] = <br />
{<br />
[1] = 2,<br />
[2] = 1,<br />
["name"] = "Springfield12",<br />
[3] = 2,<br />
}, -- end of ["callsign"]<br />
["heading"] = -2.6422217449925,<br />
}, -- end of [2]<br />
}, -- end of ["units"]<br />
["y"] = 622076.61801342,<br />
["radioSet"] = false,<br />
["name"] = "Rotary-1",<br />
["communication"] = true,<br />
["x"] = -267973.77528983,<br />
["start_time"] = 0,<br />
["task"] = "Transport",<br />
["uncontrolled"] = false,<br />
} -- end of Rotary-1<br />
<br />
</pre><br />
[[Category: Examples|group table helicopter]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=DCS_exam_group_ship&diff=14602DCS exam group ship2023-11-27T23:15:53Z<p>Grimes: </p>
<hr />
<div><pre><br />
fleet = <br />
{<br />
["visible"] = false,<br />
["route"] = <br />
{<br />
["points"] = <br />
{<br />
[1] = <br />
{<br />
["alt"] = 0,<br />
["type"] = "Turning Point",<br />
["action"] = "Turning Point",<br />
["alt_type"] = "BARO",<br />
["form"] = "Turning Point",<br />
["y"] = 530982.53257143,<br />
["x"] = -311604.89142857,<br />
["speed"] = 5.5555555555556,<br />
["task"] = <br />
{<br />
["id"] = "ComboTask",<br />
["params"] = <br />
{<br />
["tasks"] = <br />
{<br />
[1] = <br />
{<br />
["enabled"] = true,<br />
["auto"] = true,<br />
["id"] = "WrappedAction",<br />
["number"] = 1,<br />
["params"] = <br />
{<br />
["action"] = <br />
{<br />
["id"] = "ActivateBeacon",<br />
["params"] = <br />
{<br />
["type"] = 4,<br />
["AA"] = false,<br />
["unitId"] = 1,<br />
["modeChannel"] = "X",<br />
["channel"] = 73,<br />
["system"] = 3,<br />
["callsign"] = "TKR",<br />
["bearing"] = true,<br />
["frequency"] = 1160000000,<br />
}, -- end of ["params"]<br />
}, -- end of ["action"]<br />
}, -- end of ["params"]<br />
}, -- end of [1]<br />
}, -- end of ["tasks"]<br />
}, -- end of ["params"]<br />
}, -- end of ["task"]<br />
}, -- end of [1]<br />
[2] = <br />
{<br />
["alt"] = 0,<br />
["type"] = "Turning Point",<br />
["action"] = "Turning Point",<br />
["alt_type"] = "BARO",<br />
["form"] = "Turning Point",<br />
["y"] = 501829.19771429,<br />
["x"] = -303371.77371429,<br />
["speed"] = 8.3333333333333,<br />
["task"] = <br />
{<br />
["id"] = "ComboTask",<br />
["params"] = <br />
{<br />
["tasks"] = <br />
{<br />
}, -- end of ["tasks"]<br />
}, -- end of ["params"]<br />
}, -- end of ["task"]<br />
}, -- end of [2]<br />
[3] = <br />
{<br />
["alt"] = 0,<br />
["type"] = "Turning Point",<br />
["action"] = "Turning Point",<br />
["alt_type"] = "BARO",<br />
["form"] = "Turning Point",<br />
["y"] = 511007.09942857,<br />
["x"] = -276512.91428571,<br />
["speed"] = 8.3333333333333,<br />
["task"] = <br />
{<br />
["id"] = "ComboTask",<br />
["params"] = <br />
{<br />
["tasks"] = <br />
{<br />
}, -- end of ["tasks"]<br />
}, -- end of ["params"]<br />
}, -- end of ["task"]<br />
}, -- end of [3]<br />
}, -- end of ["points"]<br />
}, -- end of ["route"]<br />
["groupId"] = 1,<br />
["tasks"] = <br />
{<br />
}, -- end of ["tasks"]<br />
["hidden"] = false,<br />
["units"] = <br />
{<br />
[2] = <br />
{<br />
["type"] = "USS_Arleigh_Burke_IIa",<br />
["transportable"] = <br />
{<br />
["randomTransportable"] = false,<br />
}, -- end of ["transportable"]<br />
["unitId"] = 2,<br />
["livery_id"] = "DDG-102_USS_Sampson",<br />
["skill"] = "Average",<br />
["y"] = 532480.61277352,<br />
["x"] = -311312.98775716,<br />
["name"] = "Naval-1-2",<br />
["heading"] = 4.98762867342,<br />
["modulation"] = 0,<br />
["frequency"] = 127500000,<br />
}, -- end of [2]<br />
[3] = <br />
{<br />
["type"] = "TICONDEROG",<br />
["transportable"] = <br />
{<br />
["randomTransportable"] = false,<br />
}, -- end of ["transportable"]<br />
["unitId"] = 3,<br />
["livery_id"] = "HueCity",<br />
["skill"] = "Average",<br />
["y"] = 530495.72700901,<br />
["x"] = -312893.87022447,<br />
["name"] = "Naval-1-3",<br />
["heading"] = 4.98762867342,<br />
["modulation"] = 0,<br />
["frequency"] = 127500000,<br />
}, -- end of [3]<br />
[1] = <br />
{<br />
["type"] = "CVN_73",<br />
["transportable"] = <br />
{<br />
["randomTransportable"] = false,<br />
}, -- end of ["transportable"]<br />
["unitId"] = 1,<br />
["skill"] = "Average",<br />
["y"] = 530982.53257143,<br />
["x"] = -311604.89142857,<br />
["name"] = "Naval-1-1",<br />
["heading"] = 4.98762867342,<br />
["modulation"] = 0,<br />
["frequency"] = 127500000,<br />
}, -- end of [1]<br />
[4] = <br />
{<br />
["type"] = "PERRY",<br />
["transportable"] = <br />
{<br />
["randomTransportable"] = false,<br />
}, -- end of ["transportable"]<br />
["unitId"] = 4,<br />
["livery_id"] = "ReubenJames",<br />
["skill"] = "Average",<br />
["y"] = 530144.41979405,<br />
["x"] = -310188.8046693,<br />
["name"] = "Naval-1-4",<br />
["heading"] = 4.98762867342,<br />
["modulation"] = 0,<br />
["frequency"] = 127500000,<br />
}, -- end of [4]<br />
[5] = <br />
{<br />
["type"] = "USS_Arleigh_Burke_IIa",<br />
["transportable"] = <br />
{<br />
["randomTransportable"] = false,<br />
}, -- end of ["transportable"]<br />
["unitId"] = 5,<br />
["livery_id"] = "DDG-111_USS_Spruance",<br />
["skill"] = "Excellent",<br />
["y"] = 532392.78596978,<br />
["x"] = -313069.52383195,<br />
["name"] = "Naval-1-5",<br />
["heading"] = 4.98762867342,<br />
["modulation"] = 0,<br />
["frequency"] = 127500000,<br />
}, -- end of [5]<br />
}, -- end of ["units"]<br />
["y"] = 530982.53257143,<br />
["uncontrollable"] = false,<br />
["name"] = "Naval-1",<br />
["start_time"] = 0,<br />
["x"] = -311604.89142857,<br />
} -- fleet<br />
</pre><br />
[[Category: Examples|group table ships]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=DCS_exam_group_ground&diff=14601DCS exam group ground2023-11-27T23:15:44Z<p>Grimes: </p>
<hr />
<div><pre><br />
groundExam = <br />
{<br />
["visible"] = false,<br />
["taskSelected"] = true,<br />
["route"] = <br />
{<br />
["points"] = <br />
{<br />
[1] = <br />
{<br />
["alt"] = 12,<br />
["type"] = "Turning Point",<br />
["action"] = "Off Road",<br />
["alt_type"] = "BARO",<br />
["form"] = "Off Road",<br />
["y"] = 654317.3511118,<br />
["x"] = -292895.91688114,<br />
["speed"] = 5.5555555555556,<br />
["task"] = <br />
{<br />
["id"] = "ComboTask",<br />
["params"] = <br />
{<br />
["tasks"] = <br />
{<br />
[1] = <br />
{<br />
["enabled"] = true,<br />
["auto"] = true,<br />
["id"] = "WrappedAction",<br />
["number"] = 1,<br />
["params"] = <br />
{<br />
["action"] = <br />
{<br />
["id"] = "EPLRS",<br />
["params"] = <br />
{<br />
["value"] = true,<br />
["groupId"] = 1,<br />
}, -- end of ["params"]<br />
}, -- end of ["action"]<br />
}, -- end of ["params"]<br />
}, -- end of [1]<br />
[2] = <br />
{<br />
["enabled"] = true,<br />
["auto"] = false,<br />
["id"] = "FireAtPoint",<br />
["number"] = 2,<br />
["params"] = <br />
{<br />
["y"] = 663334.61824549,<br />
["templateId"] = "",<br />
["expendQtyEnabled"] = true,<br />
["alt_type"] = 1,<br />
["expendQty"] = 20,<br />
["x"] = -285937.33891413,<br />
["weaponType"] = 1073741822,<br />
["zoneRadius"] = 0,<br />
}, -- end of ["params"]<br />
}, -- end of [2]<br />
}, -- end of ["tasks"]<br />
}, -- end of ["params"]<br />
}, -- end of ["task"]<br />
}, -- end of [1]<br />
}, -- end of ["points"]<br />
}, -- end of ["route"]<br />
["groupId"] = 2,<br />
["tasks"] = <br />
{<br />
}, -- end of ["tasks"]<br />
["hidden"] = false,<br />
["units"] = <br />
{<br />
[1] = <br />
{<br />
["type"] = "M-109",<br />
["transportable"] = <br />
{<br />
["randomTransportable"] = false,<br />
}, -- end of ["transportable"]<br />
["unitId"] = 9,<br />
["skill"] = "High",<br />
["y"] = 654317.3511118,<br />
["x"] = -292895.91688114,<br />
["name"] = "Ground-1-4",<br />
["playerCanDrive"] = true,<br />
["heading"] = 0,<br />
}, -- end of [1]<br />
[2] = <br />
{<br />
["type"] = "M-109",<br />
["transportable"] = <br />
{<br />
["randomTransportable"] = false,<br />
}, -- end of ["transportable"]<br />
["unitId"] = 8,<br />
["skill"] = "High",<br />
["y"] = 654356.43377035,<br />
["x"] = -292965.80304639,<br />
["name"] = "Ground-1-3",<br />
["playerCanDrive"] = true,<br />
["heading"] = 0,<br />
}, -- end of [2]<br />
[4] = <br />
{<br />
["type"] = "M-109",<br />
["transportable"] = <br />
{<br />
["randomTransportable"] = false,<br />
}, -- end of ["transportable"]<br />
["unitId"] = 6,<br />
["skill"] = "High",<br />
["y"] = 654317.3511118,<br />
["x"] = -292955.91688114,<br />
["name"] = "Ground-1-1",<br />
["playerCanDrive"] = true,<br />
["heading"] = 0,<br />
}, -- end of [4]<br />
[3] = <br />
{<br />
["type"] = "M-109",<br />
["transportable"] = <br />
{<br />
["randomTransportable"] = false,<br />
}, -- end of ["transportable"]<br />
["unitId"] = 7,<br />
["skill"] = "High",<br />
["y"] = 654251.61232198,<br />
["x"] = -292954.76920971,<br />
["name"] = "Ground-1-2",<br />
["playerCanDrive"] = true,<br />
["heading"] = 0,<br />
}, -- end of [3]<br />
}, -- end of ["units"]<br />
["y"] = 654317.3511118,<br />
["uncontrollable"] = false,<br />
["name"] = "Ground-1",<br />
["start_time"] = 0,<br />
["task"] = "Ground Nothing",<br />
["x"] = -292895.91688114,<br />
} -- end of groundExam<br />
</pre><br />
[[Category: Examples|group table ground]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=DCS_exam_group_heli&diff=14600DCS exam group heli2023-11-27T23:15:00Z<p>Grimes: </p>
<hr />
<div><pre><br />
heli = <br />
{<br />
["frequency"] = 127.5,<br />
["modulation"] = 0,<br />
["groupId"] = 5,<br />
["tasks"] = <br />
{<br />
}, -- end of ["tasks"]<br />
["route"] = <br />
{<br />
["points"] = <br />
{<br />
[1] = <br />
{<br />
["alt"] = 10,<br />
["type"] = "TakeOffParking",<br />
["action"] = "From Parking Area",<br />
["alt_type"] = "BARO",<br />
["form"] = "From Parking Area",<br />
["y"] = 622076.61801342,<br />
["x"] = -267973.77528983,<br />
["speed"] = 41.666666666667,<br />
["task"] = <br />
{<br />
["id"] = "ComboTask",<br />
["params"] = <br />
{<br />
["tasks"] = <br />
{<br />
}, -- end of ["tasks"]<br />
}, -- end of ["params"]<br />
}, -- end of ["task"]<br />
["helipadId"] = 12,<br />
}, -- end of [1]<br />
[2] = <br />
{<br />
["alt"] = 2000,<br />
["type"] = "Turning Point",<br />
["action"] = "Turning Point",<br />
["alt_type"] = "BARO",<br />
["form"] = "Turning Point",<br />
["y"] = 615899.60909444,<br />
["x"] = -279297.64010796,<br />
["speed"] = 41.666666666667,<br />
["task"] = <br />
{<br />
["id"] = "ComboTask",<br />
["params"] = <br />
{<br />
["tasks"] = <br />
{<br />
}, -- end of ["tasks"]<br />
}, -- end of ["params"]<br />
}, -- end of ["task"]<br />
}, -- end of [2]<br />
[3] = <br />
{<br />
["alt"] = 2000,<br />
["type"] = "Turning Point",<br />
["action"] = "Turning Point",<br />
["alt_type"] = "BARO",<br />
["form"] = "Turning Point",<br />
["y"] = 629730.91889102,<br />
["x"] = -278300.78895145,<br />
["speed"] = 41.666666666667,<br />
["task"] = <br />
{<br />
["id"] = "ComboTask",<br />
["params"] = <br />
{<br />
["tasks"] = <br />
{<br />
}, -- end of ["tasks"]<br />
}, -- end of ["params"]<br />
}, -- end of ["task"]<br />
}, -- end of [3]<br />
[4] = <br />
{<br />
["alt"] = 13,<br />
["type"] = "Land",<br />
["action"] = "Landing",<br />
["alt_type"] = "BARO",<br />
["form"] = "Landing",<br />
["y"] = 647279.46875,<br />
["x"] = -281782.46875,<br />
["speed"] = 41.666666666667,<br />
["task"] = <br />
{<br />
["id"] = "ComboTask",<br />
["params"] = <br />
{<br />
["tasks"] = <br />
{<br />
}, -- end of ["tasks"]<br />
}, -- end of ["params"]<br />
}, -- end of ["task"]<br />
["airdromeId"] = 23,<br />
}, -- end of [4]<br />
}, -- end of ["points"]<br />
}, -- end of ["route"]<br />
["hidden"] = false,<br />
["units"] = <br />
{<br />
[1] = <br />
{<br />
["alt"] = 10,<br />
["hardpoint_racks"] = true,<br />
["alt_type"] = "BARO",<br />
["livery_id"] = "Mi-17 CIA Afghanistan",<br />
["skill"] = "High",<br />
["parking"] = "1",<br />
["ropeLength"] = 15,<br />
["speed"] = 41.666666666667,<br />
["AddPropAircraft"] = <br />
{<br />
["ExhaustScreen"] = false,<br />
["CargoHalfdoor"] = true,<br />
["GunnersAISkill"] = 90,<br />
["AdditionalArmor"] = false,<br />
["NS430allow"] = true,<br />
}, -- end of ["AddPropAircraft"]<br />
["type"] = "Mi-8MT",<br />
["unitId"] = 13,<br />
["psi"] = 2.6422217449925,<br />
["parking_id"] = "1",<br />
["x"] = -267973.77528983,<br />
["name"] = "Rotary-1-1",<br />
["payload"] = <br />
{<br />
["pylons"] = <br />
{<br />
}, -- end of ["pylons"]<br />
["fuel"] = "1929",<br />
["flare"] = 128,<br />
["chaff"] = 0,<br />
["gun"] = 100,<br />
}, -- end of ["payload"]<br />
["onboard_num"] = "050",<br />
["callsign"] = <br />
{<br />
[1] = 2,<br />
[2] = 1,<br />
["name"] = "Springfield11",<br />
[3] = 1,<br />
}, -- end of ["callsign"]<br />
["heading"] = -2.6422217449925,<br />
["y"] = 622076.61801342,<br />
}, -- end of [1]<br />
[2] = <br />
{<br />
["alt"] = 10,<br />
["hardpoint_racks"] = true,<br />
["alt_type"] = "BARO",<br />
["livery_id"] = "USA_AFG",<br />
["skill"] = "High",<br />
["ropeLength"] = 15,<br />
["speed"] = 41.666666666667,<br />
["AddPropAircraft"] = <br />
{<br />
["ExhaustScreen"] = true,<br />
["CargoHalfdoor"] = true,<br />
["GunnersAISkill"] = 90,<br />
["AdditionalArmor"] = true,<br />
["NS430allow"] = true,<br />
}, -- end of ["AddPropAircraft"]<br />
["type"] = "Mi-8MT",<br />
["unitId"] = 14,<br />
["psi"] = 2.6422217449925,<br />
["y"] = 622116.61801342,<br />
["x"] = -268013.77528983,<br />
["name"] = "Rotary-1-2",<br />
["payload"] = <br />
{<br />
["pylons"] = <br />
{<br />
[7] = <br />
{<br />
["CLSID"] = "KORD_12_7",<br />
}, -- end of [7]<br />
[8] = <br />
{<br />
["CLSID"] = "PKT_7_62",<br />
}, -- end of [8]<br />
}, -- end of ["pylons"]<br />
["fuel"] = "1929",<br />
["flare"] = 128,<br />
["chaff"] = 0,<br />
["gun"] = 100,<br />
}, -- end of ["payload"]<br />
["onboard_num"] = "051",<br />
["callsign"] = <br />
{<br />
[1] = 2,<br />
[2] = 1,<br />
["name"] = "Springfield12",<br />
[3] = 2,<br />
}, -- end of ["callsign"]<br />
["heading"] = -2.6422217449925,<br />
}, -- end of [2]<br />
}, -- end of ["units"]<br />
["y"] = 622076.61801342,<br />
["radioSet"] = false,<br />
["name"] = "Rotary-1",<br />
["communication"] = true,<br />
["x"] = -267973.77528983,<br />
["start_time"] = 0,<br />
["task"] = "Transport",<br />
["uncontrolled"] = false,<br />
} -- end of Rotary-1<br />
<br />
</pre><br />
[[Category: Examples]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=DCS_exam_group_ship&diff=14599DCS exam group ship2023-11-27T23:14:53Z<p>Grimes: </p>
<hr />
<div><pre><br />
fleet = <br />
{<br />
["visible"] = false,<br />
["route"] = <br />
{<br />
["points"] = <br />
{<br />
[1] = <br />
{<br />
["alt"] = 0,<br />
["type"] = "Turning Point",<br />
["action"] = "Turning Point",<br />
["alt_type"] = "BARO",<br />
["form"] = "Turning Point",<br />
["y"] = 530982.53257143,<br />
["x"] = -311604.89142857,<br />
["speed"] = 5.5555555555556,<br />
["task"] = <br />
{<br />
["id"] = "ComboTask",<br />
["params"] = <br />
{<br />
["tasks"] = <br />
{<br />
[1] = <br />
{<br />
["enabled"] = true,<br />
["auto"] = true,<br />
["id"] = "WrappedAction",<br />
["number"] = 1,<br />
["params"] = <br />
{<br />
["action"] = <br />
{<br />
["id"] = "ActivateBeacon",<br />
["params"] = <br />
{<br />
["type"] = 4,<br />
["AA"] = false,<br />
["unitId"] = 1,<br />
["modeChannel"] = "X",<br />
["channel"] = 73,<br />
["system"] = 3,<br />
["callsign"] = "TKR",<br />
["bearing"] = true,<br />
["frequency"] = 1160000000,<br />
}, -- end of ["params"]<br />
}, -- end of ["action"]<br />
}, -- end of ["params"]<br />
}, -- end of [1]<br />
}, -- end of ["tasks"]<br />
}, -- end of ["params"]<br />
}, -- end of ["task"]<br />
}, -- end of [1]<br />
[2] = <br />
{<br />
["alt"] = 0,<br />
["type"] = "Turning Point",<br />
["action"] = "Turning Point",<br />
["alt_type"] = "BARO",<br />
["form"] = "Turning Point",<br />
["y"] = 501829.19771429,<br />
["x"] = -303371.77371429,<br />
["speed"] = 8.3333333333333,<br />
["task"] = <br />
{<br />
["id"] = "ComboTask",<br />
["params"] = <br />
{<br />
["tasks"] = <br />
{<br />
}, -- end of ["tasks"]<br />
}, -- end of ["params"]<br />
}, -- end of ["task"]<br />
}, -- end of [2]<br />
[3] = <br />
{<br />
["alt"] = 0,<br />
["type"] = "Turning Point",<br />
["action"] = "Turning Point",<br />
["alt_type"] = "BARO",<br />
["form"] = "Turning Point",<br />
["y"] = 511007.09942857,<br />
["x"] = -276512.91428571,<br />
["speed"] = 8.3333333333333,<br />
["task"] = <br />
{<br />
["id"] = "ComboTask",<br />
["params"] = <br />
{<br />
["tasks"] = <br />
{<br />
}, -- end of ["tasks"]<br />
}, -- end of ["params"]<br />
}, -- end of ["task"]<br />
}, -- end of [3]<br />
}, -- end of ["points"]<br />
}, -- end of ["route"]<br />
["groupId"] = 1,<br />
["tasks"] = <br />
{<br />
}, -- end of ["tasks"]<br />
["hidden"] = false,<br />
["units"] = <br />
{<br />
[2] = <br />
{<br />
["type"] = "USS_Arleigh_Burke_IIa",<br />
["transportable"] = <br />
{<br />
["randomTransportable"] = false,<br />
}, -- end of ["transportable"]<br />
["unitId"] = 2,<br />
["livery_id"] = "DDG-102_USS_Sampson",<br />
["skill"] = "Average",<br />
["y"] = 532480.61277352,<br />
["x"] = -311312.98775716,<br />
["name"] = "Naval-1-2",<br />
["heading"] = 4.98762867342,<br />
["modulation"] = 0,<br />
["frequency"] = 127500000,<br />
}, -- end of [2]<br />
[3] = <br />
{<br />
["type"] = "TICONDEROG",<br />
["transportable"] = <br />
{<br />
["randomTransportable"] = false,<br />
}, -- end of ["transportable"]<br />
["unitId"] = 3,<br />
["livery_id"] = "HueCity",<br />
["skill"] = "Average",<br />
["y"] = 530495.72700901,<br />
["x"] = -312893.87022447,<br />
["name"] = "Naval-1-3",<br />
["heading"] = 4.98762867342,<br />
["modulation"] = 0,<br />
["frequency"] = 127500000,<br />
}, -- end of [3]<br />
[1] = <br />
{<br />
["type"] = "CVN_73",<br />
["transportable"] = <br />
{<br />
["randomTransportable"] = false,<br />
}, -- end of ["transportable"]<br />
["unitId"] = 1,<br />
["skill"] = "Average",<br />
["y"] = 530982.53257143,<br />
["x"] = -311604.89142857,<br />
["name"] = "Naval-1-1",<br />
["heading"] = 4.98762867342,<br />
["modulation"] = 0,<br />
["frequency"] = 127500000,<br />
}, -- end of [1]<br />
[4] = <br />
{<br />
["type"] = "PERRY",<br />
["transportable"] = <br />
{<br />
["randomTransportable"] = false,<br />
}, -- end of ["transportable"]<br />
["unitId"] = 4,<br />
["livery_id"] = "ReubenJames",<br />
["skill"] = "Average",<br />
["y"] = 530144.41979405,<br />
["x"] = -310188.8046693,<br />
["name"] = "Naval-1-4",<br />
["heading"] = 4.98762867342,<br />
["modulation"] = 0,<br />
["frequency"] = 127500000,<br />
}, -- end of [4]<br />
[5] = <br />
{<br />
["type"] = "USS_Arleigh_Burke_IIa",<br />
["transportable"] = <br />
{<br />
["randomTransportable"] = false,<br />
}, -- end of ["transportable"]<br />
["unitId"] = 5,<br />
["livery_id"] = "DDG-111_USS_Spruance",<br />
["skill"] = "Excellent",<br />
["y"] = 532392.78596978,<br />
["x"] = -313069.52383195,<br />
["name"] = "Naval-1-5",<br />
["heading"] = 4.98762867342,<br />
["modulation"] = 0,<br />
["frequency"] = 127500000,<br />
}, -- end of [5]<br />
}, -- end of ["units"]<br />
["y"] = 530982.53257143,<br />
["uncontrollable"] = false,<br />
["name"] = "Naval-1",<br />
["start_time"] = 0,<br />
["x"] = -311604.89142857,<br />
} -- fleet<br />
</pre><br />
[[Category: Examples]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=DCS_exam_group_ground&diff=14598DCS exam group ground2023-11-27T23:14:48Z<p>Grimes: </p>
<hr />
<div><pre><br />
groundExam = <br />
{<br />
["visible"] = false,<br />
["taskSelected"] = true,<br />
["route"] = <br />
{<br />
["points"] = <br />
{<br />
[1] = <br />
{<br />
["alt"] = 12,<br />
["type"] = "Turning Point",<br />
["action"] = "Off Road",<br />
["alt_type"] = "BARO",<br />
["form"] = "Off Road",<br />
["y"] = 654317.3511118,<br />
["x"] = -292895.91688114,<br />
["speed"] = 5.5555555555556,<br />
["task"] = <br />
{<br />
["id"] = "ComboTask",<br />
["params"] = <br />
{<br />
["tasks"] = <br />
{<br />
[1] = <br />
{<br />
["enabled"] = true,<br />
["auto"] = true,<br />
["id"] = "WrappedAction",<br />
["number"] = 1,<br />
["params"] = <br />
{<br />
["action"] = <br />
{<br />
["id"] = "EPLRS",<br />
["params"] = <br />
{<br />
["value"] = true,<br />
["groupId"] = 1,<br />
}, -- end of ["params"]<br />
}, -- end of ["action"]<br />
}, -- end of ["params"]<br />
}, -- end of [1]<br />
[2] = <br />
{<br />
["enabled"] = true,<br />
["auto"] = false,<br />
["id"] = "FireAtPoint",<br />
["number"] = 2,<br />
["params"] = <br />
{<br />
["y"] = 663334.61824549,<br />
["templateId"] = "",<br />
["expendQtyEnabled"] = true,<br />
["alt_type"] = 1,<br />
["expendQty"] = 20,<br />
["x"] = -285937.33891413,<br />
["weaponType"] = 1073741822,<br />
["zoneRadius"] = 0,<br />
}, -- end of ["params"]<br />
}, -- end of [2]<br />
}, -- end of ["tasks"]<br />
}, -- end of ["params"]<br />
}, -- end of ["task"]<br />
}, -- end of [1]<br />
}, -- end of ["points"]<br />
}, -- end of ["route"]<br />
["groupId"] = 2,<br />
["tasks"] = <br />
{<br />
}, -- end of ["tasks"]<br />
["hidden"] = false,<br />
["units"] = <br />
{<br />
[1] = <br />
{<br />
["type"] = "M-109",<br />
["transportable"] = <br />
{<br />
["randomTransportable"] = false,<br />
}, -- end of ["transportable"]<br />
["unitId"] = 9,<br />
["skill"] = "High",<br />
["y"] = 654317.3511118,<br />
["x"] = -292895.91688114,<br />
["name"] = "Ground-1-4",<br />
["playerCanDrive"] = true,<br />
["heading"] = 0,<br />
}, -- end of [1]<br />
[2] = <br />
{<br />
["type"] = "M-109",<br />
["transportable"] = <br />
{<br />
["randomTransportable"] = false,<br />
}, -- end of ["transportable"]<br />
["unitId"] = 8,<br />
["skill"] = "High",<br />
["y"] = 654356.43377035,<br />
["x"] = -292965.80304639,<br />
["name"] = "Ground-1-3",<br />
["playerCanDrive"] = true,<br />
["heading"] = 0,<br />
}, -- end of [2]<br />
[4] = <br />
{<br />
["type"] = "M-109",<br />
["transportable"] = <br />
{<br />
["randomTransportable"] = false,<br />
}, -- end of ["transportable"]<br />
["unitId"] = 6,<br />
["skill"] = "High",<br />
["y"] = 654317.3511118,<br />
["x"] = -292955.91688114,<br />
["name"] = "Ground-1-1",<br />
["playerCanDrive"] = true,<br />
["heading"] = 0,<br />
}, -- end of [4]<br />
[3] = <br />
{<br />
["type"] = "M-109",<br />
["transportable"] = <br />
{<br />
["randomTransportable"] = false,<br />
}, -- end of ["transportable"]<br />
["unitId"] = 7,<br />
["skill"] = "High",<br />
["y"] = 654251.61232198,<br />
["x"] = -292954.76920971,<br />
["name"] = "Ground-1-2",<br />
["playerCanDrive"] = true,<br />
["heading"] = 0,<br />
}, -- end of [3]<br />
}, -- end of ["units"]<br />
["y"] = 654317.3511118,<br />
["uncontrollable"] = false,<br />
["name"] = "Ground-1",<br />
["start_time"] = 0,<br />
["task"] = "Ground Nothing",<br />
["x"] = -292895.91688114,<br />
} -- end of groundExam<br />
</pre><br />
[[Category: Examples]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=DCS_exam_group_plane&diff=14597DCS exam group plane2023-11-27T23:14:29Z<p>Grimes: </p>
<hr />
<div><pre><br />
plane = <br />
{<br />
["frequency"] = 305,<br />
["modulation"] = 0,<br />
["groupId"] = 3,<br />
["tasks"] = <br />
{<br />
}, -- end of ["tasks"]<br />
["route"] = <br />
{<br />
["points"] = <br />
{<br />
[1] = <br />
{<br />
["alt"] = 18,<br />
["type"] = "TakeOffParking",<br />
["action"] = "From Parking Area",<br />
["alt_type"] = "BARO",<br />
["form"] = "From Parking Area",<br />
["y"] = 636897.0625,<br />
["x"] = -317688.125,<br />
["speed"] = 138.88888888889,<br />
["task"] = <br />
{<br />
["id"] = "ComboTask",<br />
["params"] = <br />
{<br />
["tasks"] = <br />
{<br />
[1] = <br />
{<br />
["enabled"] = true,<br />
["auto"] = true,<br />
["id"] = "WrappedAction",<br />
["number"] = 1,<br />
["params"] = <br />
{<br />
["action"] = <br />
{<br />
["id"] = "EPLRS",<br />
["params"] = <br />
{<br />
["value"] = true,<br />
["groupId"] = 1,<br />
}, -- end of ["params"]<br />
}, -- end of ["action"]<br />
}, -- end of ["params"]<br />
}, -- end of [1]<br />
}, -- end of ["tasks"]<br />
}, -- end of ["params"]<br />
}, -- end of ["task"]<br />
["airdromeId"] = 24,<br />
}, -- end of [1]<br />
[2] = <br />
{<br />
["alt"] = 2000,<br />
["type"] = "Turning Point",<br />
["action"] = "Turning Point",<br />
["alt_type"] = "BARO",<br />
["form"] = "Turning Point",<br />
["y"] = 607700.3313189,<br />
["x"] = -323593.64529911,<br />
["speed"] = 138.88888888889,<br />
["task"] = <br />
{<br />
["id"] = "ComboTask",<br />
["params"] = <br />
{<br />
["tasks"] = <br />
{<br />
}, -- end of ["tasks"]<br />
}, -- end of ["params"]<br />
}, -- end of ["task"]<br />
}, -- end of [2]<br />
[3] = <br />
{<br />
["alt"] = 2000,<br />
["type"] = "Turning Point",<br />
["action"] = "Turning Point",<br />
["alt_type"] = "BARO",<br />
["form"] = "Turning Point",<br />
["y"] = 601619.56776342,<br />
["x"] = -292447.60082171,<br />
["speed"] = 219.44444444444,<br />
["task"] = <br />
{<br />
["id"] = "ComboTask",<br />
["params"] = <br />
{<br />
["tasks"] = <br />
{<br />
[1] = <br />
{<br />
["enabled"] = true,<br />
["auto"] = false,<br />
["id"] = "EngageTargetsInZone",<br />
["number"] = 1,<br />
["params"] = <br />
{<br />
["y"] = 611355.51755602,<br />
["x"] = -300260.40003799,<br />
["targetTypes"] = <br />
{<br />
[1] = "Air",<br />
}, -- end of ["targetTypes"]<br />
["value"] = "Air;",<br />
["noTargetTypes"] = <br />
{<br />
[2] = "Antiship Missiles",<br />
[3] = "AA Missiles",<br />
[1] = "Cruise missiles",<br />
[4] = "AG Missiles",<br />
[5] = "SA Missiles",<br />
}, -- end of ["noTargetTypes"]<br />
["priority"] = 0,<br />
["zoneRadius"] = 100000,<br />
}, -- end of ["params"]<br />
}, -- end of [1]<br />
[2] = <br />
{<br />
["enabled"] = true,<br />
["auto"] = false,<br />
["id"] = "Orbit",<br />
["number"] = 2,<br />
["params"] = <br />
{<br />
["altitude"] = 2000,<br />
["pattern"] = "Circle",<br />
["speed"] = 138.88888888889,<br />
}, -- end of ["params"]<br />
}, -- end of [2]<br />
}, -- end of ["tasks"]<br />
}, -- end of ["params"]<br />
}, -- end of ["task"]<br />
}, -- end of [3]<br />
[4] = <br />
{<br />
["alt"] = 13,<br />
["type"] = "Land",<br />
["action"] = "Landing",<br />
["alt_type"] = "BARO",<br />
["form"] = "Landing",<br />
["y"] = 647279.46875,<br />
["x"] = -281782.46875,<br />
["speed"] = 138.88888888889,<br />
["task"] = <br />
{<br />
["id"] = "ComboTask",<br />
["params"] = <br />
{<br />
["tasks"] = <br />
{<br />
}, -- end of ["tasks"]<br />
}, -- end of ["params"]<br />
}, -- end of ["task"]<br />
["airdromeId"] = 23,<br />
}, -- end of [4]<br />
}, -- end of ["points"]<br />
}, -- end of ["route"]<br />
["hidden"] = false,<br />
["units"] = <br />
{<br />
[1] = <br />
{<br />
["alt"] = 18,<br />
["hardpoint_racks"] = true,<br />
["alt_type"] = "BARO",<br />
["livery_id"] = "Dark_Viper",<br />
["skill"] = "Excellent",<br />
["parking"] = "15",<br />
["speed"] = 138.88888888889,<br />
["AddPropAircraft"] = <br />
{<br />
}, -- end of ["AddPropAircraft"]<br />
["type"] = "F-16C_50",<br />
["unitId"] = 10,<br />
["psi"] = 1.7703702498393,<br />
["parking_id"] = "30",<br />
["x"] = -317688.125,<br />
["name"] = "Aerial-1-1",<br />
["payload"] = <br />
{<br />
["pylons"] = <br />
{<br />
[7] = <br />
{<br />
["CLSID"] = "{6CEB49FC-DED8-4DED-B053-E1F033FF72D3}",<br />
}, -- end of [7]<br />
[1] = <br />
{<br />
["CLSID"] = "{C8E06185-7CD6-4C90-959F-044679E90751}",<br />
}, -- end of [1]<br />
[2] = <br />
{<br />
["CLSID"] = "{C8E06185-7CD6-4C90-959F-044679E90751}",<br />
}, -- end of [2]<br />
[4] = <br />
{<br />
["CLSID"] = "{F376DBEE-4CAE-41BA-ADD9-B2910AC95DEC}",<br />
}, -- end of [4]<br />
[8] = <br />
{<br />
["CLSID"] = "{C8E06185-7CD6-4C90-959F-044679E90751}",<br />
}, -- end of [8]<br />
[9] = <br />
{<br />
["CLSID"] = "{C8E06185-7CD6-4C90-959F-044679E90751}",<br />
}, -- end of [9]<br />
[5] = <br />
{<br />
["CLSID"] = "<CLEAN>",<br />
}, -- end of [5]<br />
[3] = <br />
{<br />
["CLSID"] = "{6CEB49FC-DED8-4DED-B053-E1F033FF72D3}",<br />
}, -- end of [3]<br />
[6] = <br />
{<br />
["CLSID"] = "{F376DBEE-4CAE-41BA-ADD9-B2910AC95DEC}",<br />
}, -- end of [6]<br />
}, -- end of ["pylons"]<br />
["fuel"] = 3249,<br />
["flare"] = 60,<br />
["ammo_type"] = 5,<br />
["chaff"] = 60,<br />
["gun"] = 100,<br />
}, -- end of ["payload"]<br />
["onboard_num"] = "010",<br />
["callsign"] = <br />
{<br />
[1] = 1,<br />
[2] = 1,<br />
["name"] = "Enfield11",<br />
[3] = 1,<br />
}, -- end of ["callsign"]<br />
["heading"] = -1.7703702498393,<br />
["y"] = 636897.0625,<br />
}, -- end of [1]<br />
[2] = <br />
{<br />
["alt"] = 18,<br />
["hardpoint_racks"] = true,<br />
["alt_type"] = "BARO",<br />
["livery_id"] = "default",<br />
["skill"] = "Excellent",<br />
["parking"] = "14",<br />
["speed"] = 138.88888888889,<br />
["AddPropAircraft"] = <br />
{<br />
}, -- end of ["AddPropAircraft"]<br />
["type"] = "F-16C_50",<br />
["unitId"] = 11,<br />
["psi"] = 1.7703702498393,<br />
["parking_id"] = "29",<br />
["x"] = -317854.40625,<br />
["name"] = "Aerial-1-2",<br />
["payload"] = <br />
{<br />
["pylons"] = <br />
{<br />
[7] = <br />
{<br />
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",<br />
}, -- end of [7]<br />
[1] = <br />
{<br />
["CLSID"] = "{40EF17B7-F508-45de-8566-6FFECC0C1AB8}",<br />
}, -- end of [1]<br />
[2] = <br />
{<br />
["CLSID"] = "{40EF17B7-F508-45de-8566-6FFECC0C1AB8}",<br />
}, -- end of [2]<br />
[4] = <br />
{<br />
["CLSID"] = "{F376DBEE-4CAE-41BA-ADD9-B2910AC95DEC}",<br />
}, -- end of [4]<br />
[8] = <br />
{<br />
["CLSID"] = "{40EF17B7-F508-45de-8566-6FFECC0C1AB8}",<br />
}, -- end of [8]<br />
[9] = <br />
{<br />
["CLSID"] = "{40EF17B7-F508-45de-8566-6FFECC0C1AB8}",<br />
}, -- end of [9]<br />
[5] = <br />
{<br />
["CLSID"] = "<CLEAN>",<br />
}, -- end of [5]<br />
[3] = <br />
{<br />
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",<br />
}, -- end of [3]<br />
[6] = <br />
{<br />
["CLSID"] = "{F376DBEE-4CAE-41BA-ADD9-B2910AC95DEC}",<br />
}, -- end of [6]<br />
}, -- end of ["pylons"]<br />
["fuel"] = 3249,<br />
["flare"] = 60,<br />
["ammo_type"] = 5,<br />
["chaff"] = 60,<br />
["gun"] = 100,<br />
}, -- end of ["payload"]<br />
["onboard_num"] = "011",<br />
["callsign"] = <br />
{<br />
[1] = 1,<br />
[2] = 1,<br />
["name"] = "Enfield12",<br />
[3] = 2,<br />
}, -- end of ["callsign"]<br />
["heading"] = -1.7703702498393,<br />
["y"] = 636854.6875,<br />
}, -- end of [2]<br />
}, -- end of ["units"]<br />
["y"] = 636897.0625,<br />
["radioSet"] = false,<br />
["name"] = "Aerial-1",<br />
["communication"] = true,<br />
["x"] = -317688.125,<br />
["start_time"] = 0,<br />
["task"] = "CAP",<br />
["uncontrolled"] = false,<br />
} -- end of plane<br />
</pre><br />
<br />
[[Category: Examples]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=DCS_func_getCategory&diff=14596DCS func getCategory2023-11-17T09:31:57Z<p>Grimes: </p>
<hr />
<div>{{Template:dcs_funcs<br />
<br />
|fName= getCategory<br />
<br />
|vNum= 1.2.0<br />
<br />
|par1= [[DCS_Class_Object|Object]]<br />
<br />
|par2= [[DCS_Class_Group|Group]]<br />
<br />
|par3= [[DCS_Class_Spot| Spot]]<br />
<br />
|par4= [[DCS_Class_Airbase|Airbase]]<br />
<br />
|desc= Returns an enumerator of the category for the specific object. The enumerator returned is dependent on the category of the object and how the function is called. <br />
<br />
See enumerators Group.Category, Object.Category, and Spot.Category for further reference. <br />
<br />
Function also works with [[DCS_Class_Unit|Unit]], [[DCS_Class_Weapon|Weapon]], [[DCS_Class_Static_Object|Static Object]], [[DCS_Class_Scenery_Object|Scenery Object]], [[DCS_Class_Airbase|Airbase]]. <br />
<br />
Object.getCategory(obj) will always return the Object category. <br />
<br />
Unit.getCategory(obj) will return the unit category. <br />
<br />
obj:getCategory() will return the unit category. <br />
<br />
<br />
<br />
|rtnType= enum<br />
<br />
|rtnExample= number<br />
<br />
|reqType1= Class<br />
<br />
|reqName1= Self<br />
<br />
|reqType2=<br />
<br />
|reqName2=<br />
<br />
|optType1=<br />
<br />
|optType2=<br />
<br />
|related= <br />
[[DCS_Class_Object|'''Object Functions:''']] {{listofScriptingObjectFuncs}}<br />
<br />
[[DCS_Class_Group|'''Group Functions:''']] {{listOfScriptingGroupFuncs}}<br />
<br />
[[DCS_Class_Spot|'''Spot Functions:''']] {{listofScriptingSpotFuncs}}<br />
<br />
|examples= The following is run on a ship unit named CVN75.<br />
<br />
local unit = Unit.getByName("CVN75")<br />
env.info(unit:getCategory() -> 3 (unit category for a ship)<br />
env.info(Object.getCategory(unit) - > 1 (object category for a unit)<br />
env.info(Airbase.getCategory(unit) -> 2 (airbase category for a ship)<br />
<br />
|notes= From DCS 1.5.7 and DCS 2.1.1 (Nov 2017) this function was broken. It has been fixed in DCS 2.9.1 (Nov 2023). In this timeframe it would always return the result of Object.getCategory() no matter how the function was called. Users were required to use getDesc().category to get the correct category value within its subclass. <br />
<br />
}}<br />
[[Category:Class Functions|getCategory]]<br />
[[Category:Game Patch 1.2.0|getCategory]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=MIST_mapobjs_dead_polygon&diff=14595MIST mapobjs dead polygon2023-11-08T08:58:45Z<p>Grimes: </p>
<hr />
<div>{{Mission Scripting<br />
<br />
|fName= mist.flagFunc.mapobjs_dead_polygon<br />
<br />
|vNum = Mist 1.0<br />
<br />
|desc= Sets a flag true when the a required number of world objects are dead within the specified zones.<br />
<br />
|rtnType= nothing<br />
<br />
|reqType1= table<br />
<br />
|reqName1= vars<br />
<br />
|reqType2= <br />
<br />
|reqName2= <br />
<br />
|reqType3= <br />
<br />
|reqName3= <br />
<br />
|reqType4= <br />
<br />
|reqName4= <br />
<br />
|reqType5= <br />
<br />
|reqName5= <br />
<br />
|optType1= <br />
<br />
|optName1= <br />
<br />
|optType2= <br />
<br />
|optName2= <br />
<br />
|optType3= <br />
<br />
|optName3= <br />
<br />
|optType4= <br />
<br />
|optName4= <br />
<br />
|optType5= <br />
<br />
|optName5= <br />
<br />
|varExamples= {{varsTable<br />
<br />
|r1T= table<br />
|r1N= zone<br />
<br />
|r2T= number/string<br />
|r2N= flag<br />
<br />
|r3N=<br />
<br />
|o1T= number/string<br />
|o1N= stopFlag<br />
<br />
|o2T= number <br />
|o2N= req_num<br />
|o3N=<br />
<br />
|r1D= is a table of map points that defines the polygon shape (indexed numerically). See <br />
[[MIST_pointInPolygon|pointInPolygon]] for a good explanation.<br />
|r2D= is the flag number that will be set true if the conditions are met<br />
<br />
<br />
|o1D= is an optional variable that allows you to specify a flag number that, if set true, will <br />
stop the process. <br />
|o2D= is an optional variable that allows you to specify the minimum number of units that <br />
must be in one (or more) of the zones before flag is set true. <ins> If req_num is not specified, it <br />
defaults to 1. </ins><br />
<br />
<br />
<br />
}}<br />
<br />
|rtnExamples= nothing<br />
<br />
|example= <code><br />
do<br />
mist.flagFunc.mapobjs_dead_polygon{ <br />
zone = { <br />
[1] = mist.DBs.unitsByName['NE corner'].point, <br />
[2] = mist.DBs.unitsByName['SE corner'].point, <br />
[3] = mist.DBs.unitsByName['SW corner'].point, <br />
[4] = mist.DBs.unitsByName['NW corner'].point <br />
}, <br />
flag = 151, <br />
req_num = 15, <br />
} <br />
end<br />
<br />
do<br />
mist.flagFunc.mapobjs_dead_polygon{ <br />
zone = mist.getGroupPoints('Russia group'), <br />
flag = 90, <br />
req_num = 50, <br />
}<br />
<br />
end<br />
</code><br />
<br />
|notes= Once this function is run, it will start a continuously evaluated process that will set flag flag true <br />
if map objects (such as bridges, buildings in town, etc.) die (or have died) in a mission editor <br />
zone (or set of zones). This will only happen once; once the flag flag is set true, the process <br />
ends<br />
<br />
Mist 3.5 allows for strings to be used to define flags. <br />
<br />
|funcs= {{listOfMistFlagFuncs}}<br />
<br />
}}<br />
[[Category: MIST|mapobjs_dead_polygon]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=MIST_units_in_polygon&diff=14594MIST units in polygon2023-11-08T08:58:31Z<p>Grimes: </p>
<hr />
<div>{{Mission Scripting<br />
<br />
|fName= mist.flagFunc.units_in_polygon<br />
<br />
|vNum = Mist 1.0<br />
<br />
|desc= Sets a flag true when the a required number of units are inside of the specified polygon zone.<br />
<br />
|rtnType= nothing<br />
<br />
|reqType1= table<br />
<br />
|reqName1= vars<br />
<br />
|reqType2= <br />
<br />
|optType1= <br />
<br />
<br />
|varExamples= {{varsTable<br />
<br />
|r1T= UnitNameTable<br />
|r1N= units<br />
<br />
|r2T= table<br />
|r2N= zone<br />
<br />
|r3T= number/string<br />
|r3N= flag<br />
<br />
|r4N= <br />
<br />
<br />
|o1T= number/string<br />
|o1N= stopFlag<br />
<br />
|o2T= number<br />
|o2N= maxalt<br />
<br />
|o3T= number<br />
|o3N= req_num<br />
<br />
|o4T= number<br />
|o4N= interval<br />
<br />
|o5T= boolean<br />
|o5N= toggle<br />
<br />
|o6T= table<br />
|o6N= unitTableDef<br />
<br />
|o7N=<br />
<br />
|r1D= is a UnitNameTable- a table of unit names that follow a special set of rules (see the entry <br />
on UnitNameTables). <br />
|r2D= is a table of map points that defines the polygon shape (indexed numerically). See [[MIST_pointInPolygon|pointInPolygon]] for a good explanation.<br />
|r3D= is the flag number that will be set true if the conditions are met<br />
|r4D= is the radius, in meters, of all the zones drawn around each unit in zone_units. <br />
|r5D=<br />
|r6D=<br />
<br />
|o1D= is an optional variable that allows you to specify a flag number that, if set true, will <br />
stop the process. <br />
|o2D= is an optional variable that allows you to a specify a maximum altitude (above sea level) <br />
for the polygon zone. Altitude above ground level will likely be added in a future version of <br />
Mist. <br />
|o3D= is an optional variable that allows you to specify the minimum number of units that <br />
must be in one (or more) of the zones before flag is set true. <ins> If req_num is not specified, it <br />
defaults to 1. </ins><br />
|o4D= is an optional variable that allows you to specify how often (in seconds) the in-zone <br />
condition is checked; for lots of units in lots of zones (like hundreds of units in hundreds of <br />
different zones), it might be desirable to increase the interval to save computer processing <br />
time. <ins> If not specified, interval defaults to 1 </ins><br />
|o5D= is an optional variable that if present will switch the flag value to false when the <br />
required conditions are not met. If not specified toggle defaults to false. <br />
|o6D= is an optional table containing the a [[unitNameTables]] definition. If present this value will be used to modify the units checked if new units are dynamically added to the mission. This value and capability is also used if the units variable is given a unitNameTables definition. <br />
|o7D=<br />
<br />
<br />
}}<br />
<br />
|rtnExamples= nothing<br />
<br />
|example= <code><br />
do<br />
mist.flagFunc.units_in_polygon{ <br />
units = {'[blue][vehicle]'}, <br />
zone = mist.getGroupPoints('forest1'), <br />
flag = 11 <br />
}<br />
end<br />
</code><br />
<br />
|notes= Once this function is run, <ins>it will start a continuously evaluated process </ins>that will set flag flag true <br />
once units listed in units are inside the polygon zone defined by the map points listed in zone. <br />
This process will keep running, and flag will keep being set true as long as the unit(s)-in-zone <br />
conditions persist, unless the process is stopped with stopflag.<br />
<br />
'''Mist 3.5''' allows for strings to be used to define flags. <br />
<br />
'''Mist 4.0''' has modified this function to better adapt to added any units dynamically spawned into the mission. If units or zone_units is passed as a unitNameTable definition table then that information will be added to the optional variables unitTableDef and zUnitTableDef. Once present there will be a check whenever dynamically added units are spawned into the mission, if those units fit into the unitNameTable definition then they will also be checked by the function.<br />
<br />
|funcs= {{listOfMistFlagFuncs}}<br />
<br />
}}<br />
[[Category: MIST|units_in_polygon]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=DCS_singleton_world&diff=14593DCS singleton world2023-10-20T06:37:22Z<p>Grimes: </p>
<hr />
<div>{{Template:DCSscriptingSingleton<br />
<br />
|cName= world<br />
<br />
|vNum= 1.2.0<br />
<br />
|desc= The world singleton contains functions centered around two different but extremely useful functions. <br />
1. Events and event handlers are all governed within world.<br />
<br />
'''Event Types:''' {{listOfEvents}}<br />
<br />
2. A number of functions to get information about the game world. <br />
<br />
|funcs= {{listOfWorldFuncs}}<br />
<br />
|enums= The event enumerator defines all of the types of events that can occur.<br />
<br />
world.event = {<br />
S_EVENT_INVALID = 0,<br />
S_EVENT_SHOT = 1,<br />
S_EVENT_HIT = 2,<br />
S_EVENT_TAKEOFF = 3,<br />
S_EVENT_LAND = 4,<br />
S_EVENT_CRASH = 5,<br />
S_EVENT_EJECTION = 6,<br />
S_EVENT_REFUELING = 7,<br />
S_EVENT_DEAD = 8,<br />
S_EVENT_PILOT_DEAD = 9,<br />
S_EVENT_BASE_CAPTURED = 10,<br />
S_EVENT_MISSION_START = 11,<br />
S_EVENT_MISSION_END = 12,<br />
S_EVENT_TOOK_CONTROL = 13,<br />
S_EVENT_REFUELING_STOP = 14,<br />
S_EVENT_BIRTH = 15,<br />
S_EVENT_HUMAN_FAILURE = 16,<br />
S_EVENT_DETAILED_FAILURE = 17,<br />
S_EVENT_ENGINE_STARTUP = 18,<br />
S_EVENT_ENGINE_SHUTDOWN = 19,<br />
S_EVENT_PLAYER_ENTER_UNIT = 20,<br />
S_EVENT_PLAYER_LEAVE_UNIT = 21,<br />
S_EVENT_PLAYER_COMMENT = 22,<br />
S_EVENT_SHOOTING_START = 23,<br />
S_EVENT_SHOOTING_END = 24,<br />
S_EVENT_MARK_ADDED = 25, <br />
S_EVENT_MARK_CHANGE = 26,<br />
S_EVENT_MARK_REMOVED = 27,<br />
S_EVENT_KILL = 28,<br />
S_EVENT_SCORE = 29,<br />
S_EVENT_UNIT_LOST = 30,<br />
S_EVENT_LANDING_AFTER_EJECTION = 31,<br />
S_EVENT_PARATROOPER_LENDING = 32,<br />
S_EVENT_DISCARD_CHAIR_AFTER_EJECTION = 33, <br />
S_EVENT_WEAPON_ADD = 34,<br />
S_EVENT_TRIGGER_ZONE = 35,<br />
S_EVENT_LANDING_QUALITY_MARK = 36,<br />
S_EVENT_BDA = 37, <br />
S_EVENT_AI_ABORT_MISSION = 38, <br />
S_EVENT_DAYNIGHT = 39, <br />
S_EVENT_FLIGHT_TIME = 40, <br />
S_EVENT_PLAYER_SELF_KILL_PILOT = 41, <br />
S_EVENT_PLAYER_CAPTURE_AIRFIELD = 42, <br />
S_EVENT_EMERGENCY_LANDING = 43,<br />
S_EVENT_UNIT_CREATE_TASK = 44,<br />
S_EVENT_UNIT_DELETE_TASK = 45,<br />
S_EVENT_SIMULATION_START = 46,<br />
S_EVENT_WEAPON_REARM = 47,<br />
S_EVENT_WEAPON_DROP = 48,<br />
S_EVENT_UNIT_TASK_TIMEOUT = 49,<br />
S_EVENT_UNIT_TASK_STAGE = 50,<br />
S_EVENT_MAC_SUBTASK_SCORE = 51, <br />
S_EVENT_MAC_EXTRA_SCORE = 52,<br />
S_EVENT_MISSION_RESTART = 53,<br />
S_EVENT_MISSION_WINNER = 54, <br />
S_EVENT_POSTPONED_TAKEOFF = 55, <br />
S_EVENT_POSTPONED_LAND = 56, <br />
S_EVENT_MAX = 57,<br />
}<br />
<br />
The birthplace enumerator is used to define where an aircraft or helicopter has spawned in association with [[DCS_event_birth|birth]]<br />
<br />
world.BirthPlace = {<br />
wsBirthPlace_Air,<br />
wsBirthPlace_RunWay,<br />
wsBirthPlace_Park,<br />
wsBirthPlace_Heliport_Hot,<br />
wsBirthPlace_Heliport_Cold,<br />
}<br />
<br />
The volumeType enumerator defines the types of 3d geometery used within the [[DCS_func_searchObjects|world.searchObjects]] function<br />
world.VolumeType = {<br />
SEGMENT,<br />
BOX,<br />
SPHERE,<br />
PYRAMID<br />
}<br />
{{listOfVolumes}}<br />
<br />
<br />
|notes= <br />
2.5.5 Inserted S_EVENT_DETAILED_FAILURE into id 17. <br />
2.5.6 Added S_EVENT_KILL, S_EVENT_SCORE , S_EVENT_UNIT_LOST , S_EVENT_LANDING_AFTER_EJECTION , -- Redacted for now. And changed S_EVENT_MAX to 33,<br />
<br />
2.7.1? - 2.7.12 added events 38 through 45.<br />
<br />
2.8.0 added events 46-48.<br />
<br />
2.9.0 added 51-56<br />
<br />
}}<br />
[[Category:Game Patch 1.2.0|world singleton]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=DCS_command_setUnlimitedFuel&diff=14592DCS command setUnlimitedFuel2023-10-20T06:33:30Z<p>Grimes: </p>
<hr />
<div><br />
{{Template:DCS_tasking<br />
<br />
|tName= SetUnlimitedFuel<br />
<br />
|vNum= 2.9.0<br />
<br />
|type= [[DCS_func_setCommand|Command]]<br />
<br />
|for= Airplanes, Helicopters<br />
<br />
|avail= All tasks types<br />
<br />
|desc= Sets the controlled group/unit to have unlimited fuel. Fuel value returned will remain at the fuel level when the command was set. If the aircraft refuels from a tanker the fuel value will increase while the aircraft is receiving fuel. <br />
<br />
|form= This task needs to be in the following format. <br />
<br />
SetUnlimitedFuel = { <br />
id = 'SetUnlimitedFuel', <br />
params = { <br />
value = boolean <br />
} <br />
}<br />
<br />
'''Required parameters''': <br />
<br />
value: True enables unlimited fuel, false disables it.<br />
<br />
<br />
'''Optional Parameters''':<br />
|enum= N/A<br />
|exam=<br />
<br />
|notes= <br />
<br />
See article [[Mission Editor: AI Tasking]] for more information on how AI tasking is handled within DCS. <br />
<br />
<br />
}}<br />
[[Category:Aircraft Task|SetUnlimited Fuel]]<br />
[[Category:Helicopter Task|SetUnlimited Fuel]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=DCS_task_strafing&diff=14591DCS task strafing2023-10-20T01:25:23Z<p>Grimes: Created page with "{{Template:DCS_tasking |tName= Strafing |vNum= 2.9.0 |type= Main task |for= Airplanes, Helicopters |desc= Assigns a point on the ground for which the AI will do a strafin..."</p>
<hr />
<div>{{Template:DCS_tasking<br />
<br />
|tName= Strafing<br />
<br />
|vNum= 2.9.0<br />
<br />
|type= Main task<br />
<br />
|for= Airplanes, Helicopters<br />
<br />
|desc= Assigns a point on the ground for which the AI will do a strafing run with guns or rockets. <br />
<br />
|avail=<br />
<br />
|form= This task needs to be in the following format. <br />
<br />
Strafing= { <br />
id = 'Strafing', <br />
params = { <br />
point = Vec2,<br />
weaponType = number, <br />
expend = enum AI.Task.WeaponExpend,<br />
attackQty = number, <br />
attackQtyLimit = boolean,<br />
direction = Azimuth, <br />
directionEnabled = boolean,<br />
groupAttack = boolean, <br />
length = number, <br />
} <br />
}<br />
<br />
'''Required parameters''': <br />
point: vec2 coordinate of the target. Can also be an x and y values directly in params table.<br />
<br />
attackQty: Number of times the group will attack if the target. <br />
<br />
'''Optional Parameters''':<br />
All other variables are optional. Some variables require other entries, for example the boolean values require the corresponding value if the boolean is true. <br />
<br />
expend: Enum that defines how much munitions the AI will expend per attack run. <br />
<br />
attackQtyLimit: boolean that defines whether or not the attackQty value will be used. <br />
<br />
groupAttack: If true then each aircraft in the group will attack the point.<br />
<br />
length: The total length of the strafing target. <br />
<br />
|enum= weaponType is a number associated with a correspond [[DCS_enum_weapon_flag|weapons flags]]<br />
<br />
{{Template:DCS_enum_AI_expend_list}}<br />
<br />
|exam= The following will make the group "dakka" do a strafing run on a target with a quarter of its rockets.<br />
<br />
local target = {}<br />
local zone = trigger.misc.getZone("targetPractice")<br />
target.point = {x = zone.point.x, y = zone.point.z}<br />
target.expend = "Quarter"<br />
target.weaponType = 30720<br />
target.attackQty = 1<br />
local engage = {id = 'Strafing', params = target}<br />
Group.getByName('dakka'):getController():setTask(engage)<br />
<br />
<br />
|notes= See article [[Mission Editor: AI Tasking]] for more information on how AI tasking is handled within DCS. <br />
<br />
<br />
}}<br />
[[Category:Aircraft Task|Strafing]]<br />
[[Category:Helicopter Task|Strafing]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=Template:ListOfTasks&diff=14590Template:ListOfTasks2023-10-20T01:16:28Z<p>Grimes: </p>
<hr />
<div>[[DCS_task_attackGroup|AttackGroup]], [[DCS_task_attackUnit|AttackUnit]], [[DCS_task_bombing|Bombing]], [[DCS_task_strafing|Strafing]], [[DCS_task_carpetBombing|CarpetBombing]], [[DCS_task_attackMapObject|AttackMapObject]], [[DCS_task_bombingRunway|BombingRunway]], [[DCS_task_orbit|orbit]], [[DCS_task_refueling|refueling]], [[DCS_task_land|land]], [[DCS_task_follow|follow]], [[DCS_task_followBigFormation|followBigFormation]], [[DCS_task_escort|escort]], [[DCS_task_embarking|Embarking]], [[DCS_task_fireAtPoint|fireAtPoint]], [[DCS_task_hold|hold]], [[DCS_task_fac_AttackGroup|FAC_AttackGroup]], [[DCS_task_embarkToTransport|EmbarkToTransport]], [[DCS_task_disembarkFromTransport|DisembarkFromTransport]], [[DCS_task_cargoTransportation|CargoTransportation]], [[DCS_task_goToWaypoint|goToWaypoint]], [[DCS_task_groundEscort|groundEscort]], [[DCS_task_RecoveryTanker|RecoveryTanker]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=DCS_command_setUnlimitedFuel&diff=14589DCS command setUnlimitedFuel2023-10-20T01:15:44Z<p>Grimes: </p>
<hr />
<div><br />
{{Template:DCS_tasking<br />
<br />
|tName= SetUnlimitedFuel<br />
<br />
|vNum= 2.9.0<br />
<br />
|type= [[DCS_func_setCommand|Command]]<br />
<br />
|for= Airplanes, Helicopters<br />
<br />
|avail= All tasks types<br />
<br />
|desc= Sets the controlled group/unit to have unlimited fuel. Fuel value returned will remain at the fuel level when the command was set. If the aircraft refuels from a tanker the fuel value will increase while the aircraft is receiving fuel. <br />
<br />
|form= This task needs to be in the following format. <br />
<br />
SetUnlimitedFuel = { <br />
id = 'SetUnlimitedFuel', <br />
params = { <br />
value = boolean <br />
} <br />
}<br />
<br />
'''Required parameters''': <br />
<br />
value: True enables unlimited fuel, false disables it.<br />
<br />
<br />
'''Optional Parameters''':<br />
|enum= N/A<br />
|exam=<br />
<br />
|notes= <br />
<br />
See article [[Mission Editor: AI Tasking]] for more information on how AI tasking is handled within DCS. <br />
<br />
<br />
}}<br />
[[Category:Aircraft Task|Set Unlimited Fuel]]<br />
[[Category:Helicopter Task|Set Unlimited Fuel]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=DCS_command_setUnlimitedFuel&diff=14588DCS command setUnlimitedFuel2023-10-20T01:15:35Z<p>Grimes: Created page with " {{Template:DCS_tasking |tName= SetUnlimitedFuel |vNum= 2.9.0 |type= Command |for= Airplanes, Helicopters, Ground Vehicles, Ships |avail= All task..."</p>
<hr />
<div><br />
{{Template:DCS_tasking<br />
<br />
|tName= SetUnlimitedFuel<br />
<br />
|vNum= 2.9.0<br />
<br />
|type= [[DCS_func_setCommand|Command]]<br />
<br />
|for= Airplanes, Helicopters, Ground Vehicles, Ships<br />
<br />
|avail= All tasks types<br />
<br />
|desc= Sets the controlled group/unit to have unlimited fuel. Fuel value returned will remain at the fuel level when the command was set. If the aircraft refuels from a tanker the fuel value will increase while the aircraft is receiving fuel. <br />
<br />
|form= This task needs to be in the following format. <br />
<br />
SetUnlimitedFuel = { <br />
id = 'SetUnlimitedFuel', <br />
params = { <br />
value = boolean <br />
} <br />
}<br />
<br />
'''Required parameters''': <br />
<br />
value: True enables unlimited fuel, false disables it.<br />
<br />
<br />
'''Optional Parameters''':<br />
|enum= N/A<br />
|exam=<br />
<br />
|notes= <br />
<br />
See article [[Mission Editor: AI Tasking]] for more information on how AI tasking is handled within DCS. <br />
<br />
<br />
}}<br />
[[Category:Aircraft Task|Set Unlimited Fuel]]<br />
[[Category:Helicopter Task|Set Unlimited Fuel]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=Template:ListOfCommands&diff=14587Template:ListOfCommands2023-10-20T01:13:08Z<p>Grimes: </p>
<hr />
<div>[[DCS_command_script|script]], [[DCS_command_setCallsign|setCallsign]], [[DCS_command_setFrequency|setFrequency]], [[DCS_command_switchWaypoint|switchWaypoint]], [[DCS_command_stopRoute|stopRoute]], [[DCS_command_switchAction|switchAction]], [[DCS_command_setInvisible|setInvisible]], [[DCS_command_setImmortal|setImmortal]], [[DCS_command_setUnlimitedFuel|setUnlimitedFuel]], [[DCS_command_activateBeacon|activateBeacon]], [[DCS_command_deactivateBeacon|deactivateBeacon]], [[DCS_command_activateICLS|activateICLS]], [[DCS_command_deactivateICLS|deactivateICLS]], [[DCS_command_eplrs|eplrs]], [[DCS_command_start|start]], [[DCS_command_transmitMessage|transmitMessage]], [[DCS_command_stopTransmission|stopTransmission]], [[DCS_command_smoke_on_off|smoke_on_off]], [[DCS_command_activateLink4|ActivateLink4]], [[DCS_command_deactivateLink4|deactivateLink4]], [[DCS_command_activateACLS|activateACLS]], [[DCS_command_deactivateACLS|deactivateACLS]], [[DCS_command_LoadingShip|LoadingShip]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=Template:ListOfCommands&diff=14586Template:ListOfCommands2023-10-20T01:13:00Z<p>Grimes: </p>
<hr />
<div>[[DCS_command_script|script]], [[DCS_command_setCallsign|setCallsign]], [[DCS_command_setFrequency|setFrequency]], [[DCS_command_switchWaypoint|switchWaypoint]], [[DCS_command_stopRoute|stopRoute]], [[DCS_command_switchAction|switchAction]], [[DCS_command_setInvisible|setInvisible]], [[DCS_command_setImmortal|setImmortal]], [[DCS_command_setUnlimitedFuel|setUnlimitedFuel]][[DCS_command_activateBeacon|activateBeacon]], [[DCS_command_deactivateBeacon|deactivateBeacon]], [[DCS_command_activateICLS|activateICLS]], [[DCS_command_deactivateICLS|deactivateICLS]], [[DCS_command_eplrs|eplrs]], [[DCS_command_start|start]], [[DCS_command_transmitMessage|transmitMessage]], [[DCS_command_stopTransmission|stopTransmission]], [[DCS_command_smoke_on_off|smoke_on_off]], [[DCS_command_activateLink4|ActivateLink4]], [[DCS_command_deactivateLink4|deactivateLink4]], [[DCS_command_activateACLS|activateACLS]], [[DCS_command_deactivateACLS|deactivateACLS]], [[DCS_command_LoadingShip|LoadingShip]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=MIST_getRandomPointInPoly&diff=14585MIST getRandomPointInPoly2023-10-18T23:45:16Z<p>Grimes: Created page with "{{Mission Scripting |fName= mist.getRandomPointInPoly| |vNum = Mist 3.6 |desc= Returns a randomly generated vec2 coordinate within the specified set of points that make up..."</p>
<hr />
<div>{{Mission Scripting<br />
<br />
|fName= mist.getRandomPointInPoly|<br />
<br />
|vNum = Mist 3.6<br />
<br />
|desc= Returns a randomly generated vec2 coordinate within the specified set of points that make up a polygon. <br />
<br />
|rtnType= vec2<br />
<br />
|reqType1= table<br />
<br />
|reqName1= points<br />
<br />
|reqType2= <br />
<br />
|reqName2= <br />
<br />
|reqType3= <br />
<br />
|reqName3= <br />
<br />
|reqType4= <br />
<br />
|reqName4= <br />
<br />
|reqType5= <br />
<br />
|reqName5= <br />
<br />
|optType1= <br />
<br />
|optName1= <br />
<br />
|optType2= <br />
<br />
|optName2= <br />
<br />
|optType3= <br />
<br />
|optName3= <br />
<br />
|optType4= <br />
<br />
|optName4= <br />
<br />
|optType5= <br />
<br />
|optName5= <br />
<br />
|vars=<br />
<br />
|varExamples= <br />
<br />
|rtnExamples= {{vec2}}<br />
<br />
|example= The following code will get a random point inside a zone defined by the route of the group "whatever"<br />
<br />
<code><br />
:local points = mist.getGroupPoints("whatever")<br />
:local rndPoint = mist.getRandomPointInPoly(points)<br />
</code><br />
|notes= Uses: [[GetRandomPointInCircle]]<br />
|funcs= {{ListOfMistGeneralPurposeFuncs}}<br />
<br />
}}<br />
[[Category:MIST|getRandomPointInPoly]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=Template:ListOfMistGeneralPurposeFuncs&diff=14584Template:ListOfMistGeneralPurposeFuncs2023-10-18T23:38:22Z<p>Grimes: </p>
<hr />
<div>[[MIST makeUnitTable|makeUnitTable]], [[MIST getRandPointInCircle|getRandPointInCircle]], [[MIST getRandomPointInZone|getRandomPointInZone]], [[MIST getRandomPointInPoly|getRandomPointInPoly]], [[MIST isTerrainValid|isTerrainValid]], [[MIST terrainHeightDiff|terrainHeightDiff]], [[MIST getUnitsInZones|getUnitsInZones]], [[MIST getUnitsInMovingZones|getUnitsInMovingZones]], [[MIST pointInPolygon|pointInPolygon]], [[MIST getUnitsInPolygon|getUnitsInPolygon]], [[MIST getDeadMapObjsInZones|getDeadMapObjsInZones]], [[MIST getDeadMapObjsInPolygonZone|getDeadMapObjsInPolygonZone]], [[MIST getUnitsLOS|getUnitsLOS]], [[MIST random|random]], [[MIST randomizeNumTable|randomizeNumTable]], [[MIST getAvgPoint|getAvgPoint]], [[MIST getQFE|getQFE]], [[MIST getWindBearingAndVel|getWindBearingAndVel]], [[MIST getPathLength|getPathLength]], [[MIST getPathInSegments|getPathInSegments]], [[MIST getPointAtDistanceOnPath|getPointAtDistanceOnPath]], [[MIST projectPoint|projectPoint]], [[MIST getGroupsByAttribute|getGroupsByAttribute]], , [[MIST getUnitsByAttribute|getUnitsByAttribute]], [[MIST mapValue|mapValue]],</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=Mission_Editor:_AI_Tasking&diff=14583Mission Editor: AI Tasking2023-09-21T02:50:58Z<p>Grimes: </p>
<hr />
<div>This guide applies to using the DCS mission editor and the scripting engine.<br />
[[File:Tasks_and_selection.png|frame|50px|Figure 1: Aircraft Selection Screen]]<br />
== Basics ==<br />
<br />
The AI tasks system in DCS received a much needed and flexible overhaul between DCS Black Shark and the A-10C release. The new system allows for a great level of control over AI actions. <br />
<br />
===Task Types===<br />
There are four task categories and each behave a little differently. These categories are: '''Perform Task''', '''Enroute Task''', '''Commands''', and '''Options'''.<br />
<br />
Additionally there are "Task Wrappers" that the mission editor will automatically assemble the task inside of the mission file. Effectively it is a task of tasks and may give the AI rules for how to execute the given task. <br />
<br />
====Perform Task vs Enroute Task====<br />
<br />
Perform Task: Is a task that is assigned and executed immediately. <br />
<br />
Enroute Task: Is a set of tasking instructions that remains active throughout a groups route. <br />
<br />
<br />
<br />
Example of Difference. Perform Task([[DCS_task_attackGroup|AttackGroup]]) vs Enroute Task([[DCS_task_engageGroup|Engage Group]]). '''Group A''' is tasked with destroying '''Group B'''<br />
<br />
There are no two tasks that are identical between perform task and enroute task, however there are tasks that end in the same result, but go about it completely differently. With the AttackGroup task '''GroupA''' will automatically detect '''GroupB''' and attack it the instant the tasking is given. This includes flying from its current location directly to '''GroupB''''s location and ignoring other targets along the way. With the Enroute Task EngageGroup, '''GroupB''' is added to a list of valid targets for '''GroupA'''. '''GroupA''' simply flies its assigned route, if at any point '''GroupA''' detects '''GroupB''', then it will proceed to engage '''GroupB'''. <br />
<br />
Once '''GroupB''' is destroyed, how '''GroupA''' reacts is different between the two tasks. As stated with the engageGroup tasking '''GroupA''' flew its route whereas with attackGroup it flew directly to the target. Thus once '''GroupB''' is destroyed the flight with engageGroup will continue on to its next waypoint while the flight with attackGroup will have to fly back to make up any waypoints it missed. <br />
<br />
<br />
Enroute tasking is used as a general purpose task that allows AI to react to an evolving threat environment, where-as Perform Tasks are best suited for attacking very specific targets that may be critical to the missions objective. <br />
<br />
<br />
Note: The [[DCS_task_escort|escort]] task is effectively a combination of the two tasking types. It is assigned as a perform task to rendezvous and fly formation on an assigned group, but the act of escorting and protecting the group from the specified threats is an ongoing task that occurs throughout the escorted groups route and position.<br />
<br />
====Commands and Options====<br />
<br />
'''Commands:''' Are actions that are run on the group that don't have any overall effect on what the AI is allowed or isn't allowed to do. Commands typically dictate how a group can interact with the game world (callsign and frequencies) or are actual commands to follow. <br />
<br />
'''Options:''' Are used to define behavior options for the AI group. These options decide what the AI is and isn't allowed to do. The options can over-ride active tasking. For instance with RTB on out of ammo the AI will return to base and abort its current mission if it runs out of a specific type of ammunition. <br />
<br />
Both commands and options are executed immediately and take no time to run.<br />
<br />
===Aircraft selection and role===<br />
<br />
<br />
When placing an aircraft or helicopter group in the mission editor the "TASK" option is an important setting that controls a number of items. To avoid confusion it is best to think of this option as a "Role" instead of "task". This setting dictates the types of aircraft and pre-made weapons payloads available for that role. Additionally within the AI tasking different tasks are available and are filtered to correspond to the role assigned to the aircraft.<br />
<br />
See Figure 1. The TASK (Red Arrow) filters the list of aircraft types (Blue Arrow) available to fill the role of "CAP".<br />
<br />
AI tasking can then be executed via two different means. "Waypoint Actions" and "Triggered Actions". Each has its own specific uses. <br />
<br />
===Waypoint Actions===<br />
Waypoint actions are tasks that are tied directly to a groups route and executed upon reaching a specific waypoint. For example a mission designer may want a B-1B to bomb an runway, the designer would plan the B-1Bs route and assign the [[DCS_task_bombingRunway|BombingRunway]] task on the nearest waypoint to the targeted airbase. <br />
<br />
Pros: Tasks can be setup along a route to get consistent behavior from the AI.<br />
<br />
Cons: Tasks can only be started once the group arrives at a waypoint. If for any reason the start conditions prevent a task from executing, then the task will never be evaluated again. <br />
<br />
===Triggered Actions===<br />
Triggered actions are a listing of tasks that can be triggered at any point for the group. These actions can be triggered via mission editor triggers or via the scripting engine. A common use is for a group of artillery to fire at a specified target during the mission. A mission designer would have a group of artillery with a triggered action task to [[DCS_task_fireAtPoint|fireAtPoint]] a pre-defined target once an invasion starts. A trigger that may start the invasion would also use Push AI Task to assign the artillery group its fireAtPoint tasking. <br />
<br />
Pros: Forces a task for AI to immediately follow. <br />
<br />
Cons: By assigning a new task it can easily "interrupt" AI in active tasks. <br />
<br />
== Scripting ==<br />
<br />
Fundamentally the scripting usage of AI tasks is identical to the mission editor. <br />
<br />
=== Advantages ===<br />
The scripting engine is not bound to the limitations of the mission editor when it comes to AI tasking. These bounds are typically manifested in the options available for a given task. For example in the mission editor the main task selected for an aircraft '''limits''' the aircraft list that can do the task, the actual tasks and enroute tasks that can be selected, and the options within the tasks. <br />
<br />
For example see the image below. The only difference is the selection of the "main task" from CAP and Fighter Sweep. This identifies some of the limits that exist with the editor limiting attributes and tasks available. <br />
<br />
[[File:Enroute differences.jpg]]<br />
<br />
The same task, [[DCS_task_engageTargets|engageTargets]], is available for CAP, SEAD, Fighter Sweep, CAS, AFAC, and Anti-ship.<br />
<br />
<br />
=== Task Wrappers ===<br />
<br />
Task Wrappers are special tasks that include other tasks. These tasks are automatically created by the mission editor when placing AI routes and assigning tasking. Essentially it follows the same format of the mission file where it is 1 giant table with table entries nested as far as they need to go. <br />
<br />
<br />
[[DCS_task_mission|mission]] : This is the entire task tree. It contains route information and any task that will be executed at a given waypoint. <br />
<br />
[[DCS_task_comboTask|ComboTask]] : Is a list of tasks that will be executed. Think of it as the end result of calling multiple [[DCS_func_pushTask|Controller.pushTask()]] for each task. <br />
<br />
[[DCS_task_controlledTask|ControlledTask]] : Is used for any tasks that may have special rules applied for if the task can start and when the task ends. <br />
<br />
[[DCS_task_wrappedAction|WrappedAction]] : Is used when setting Options and Commands due to how the game interprets those values as part of a larger task. Note that these can also be set at anypoint via script calling [[DCS_func_setOption|setOption]] or [[DCS_func_setCommand|setCommand]]. <br />
<br />
<br />
== Task List by Category==<br />
===Task Wrappers===<br />
{{listOfTaskWrappers}}<br />
===Perform Task===<br />
{{listOfTasks}}<br />
===Enroute Task===<br />
{{ListOfEnrouteTasks}}<br />
===Commands===<br />
{{listOfCommands}}<br />
===Options===<br />
{{listOfOptions}}<br />
<br />
<br />
[[Category: Mission Editor|AI tasking]]<br />
[[Category: Scripting|AI Tasking]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=File:Enroute_differences.jpg&diff=14582File:Enroute differences.jpg2023-09-21T02:28:08Z<p>Grimes: List of attributes for the same task based on different main tasks.</p>
<hr />
<div>List of attributes for the same task based on different main tasks.</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=Mission_Editor:_AI_Tasking&diff=14581Mission Editor: AI Tasking2023-09-21T02:18:23Z<p>Grimes: /* Task Types */</p>
<hr />
<div>This guide applies to using the DCS mission editor and the scripting engine.<br />
[[File:Tasks_and_selection.png|frame|50px|Figure 1: Aircraft Selection Screen]]<br />
== Basics ==<br />
<br />
The AI tasks system in DCS received a much needed and flexible overhaul between DCS Black Shark and the A-10C release. The new system allows for a great level of control over AI actions. <br />
<br />
===Task Types===<br />
There are four task categories and each behave a little differently. These categories are: '''Perform Task''', '''Enroute Task''', '''Commands''', and '''Options'''.<br />
<br />
Additionally there are "Task Wrappers" that the mission editor will automatically assemble the task inside of the mission file. Effectively it is a task of tasks and may give the AI rules for how to execute the given task. <br />
<br />
====Perform Task vs Enroute Task====<br />
<br />
Perform Task: Is a task that is assigned and executed immediately. <br />
<br />
Enroute Task: Is a set of tasking instructions that remains active throughout a groups route. <br />
<br />
<br />
<br />
Example of Difference. Perform Task([[DCS_task_attackGroup|AttackGroup]]) vs Enroute Task([[DCS_task_engageGroup|Engage Group]]). '''Group A''' is tasked with destroying '''Group B'''<br />
<br />
There are no two tasks that are identical between perform task and enroute task, however there are tasks that end in the same result, but go about it completely differently. With the AttackGroup task '''GroupA''' will automatically detect '''GroupB''' and attack it the instant the tasking is given. This includes flying from its current location directly to '''GroupB''''s location and ignoring other targets along the way. With the Enroute Task EngageGroup, '''GroupB''' is added to a list of valid targets for '''GroupA'''. '''GroupA''' simply flies its assigned route, if at any point '''GroupA''' detects '''GroupB''', then it will proceed to engage '''GroupB'''. <br />
<br />
Once '''GroupB''' is destroyed, how '''GroupA''' reacts is different between the two tasks. As stated with the engageGroup tasking '''GroupA''' flew its route whereas with attackGroup it flew directly to the target. Thus once '''GroupB''' is destroyed the flight with engageGroup will continue on to its next waypoint while the flight with attackGroup will have to fly back to make up any waypoints it missed. <br />
<br />
<br />
Enroute tasking is used as a general purpose task that allows AI to react to an evolving threat environment, where-as Perform Tasks are best suited for attacking very specific targets that may be critical to the missions objective. <br />
<br />
<br />
Note: The [[DCS_task_escort|escort]] task is effectively a combination of the two tasking types. It is assigned as a perform task to rendezvous and fly formation on an assigned group, but the act of escorting and protecting the group from the specified threats is an ongoing task that occurs throughout the escorted groups route and position.<br />
<br />
====Commands and Options====<br />
<br />
'''Commands:''' Are actions that are run on the group that don't have any overall effect on what the AI is allowed or isn't allowed to do. Commands typically dictate how a group can interact with the game world (callsign and frequencies) or are actual commands to follow. <br />
<br />
'''Options:''' Are used to define behavior options for the AI group. These options decide what the AI is and isn't allowed to do. The options can over-ride active tasking. For instance with RTB on out of ammo the AI will return to base and abort its current mission if it runs out of a specific type of ammunition. <br />
<br />
Both commands and options are executed immediately and take no time to run.<br />
<br />
===Aircraft selection and role===<br />
<br />
<br />
When placing an aircraft or helicopter group in the mission editor the "TASK" option is an important setting that controls a number of items. To avoid confusion it is best to think of this option as a "Role" instead of "task". This setting dictates the types of aircraft and pre-made weapons payloads available for that role. Additionally within the AI tasking different tasks are available and are filtered to correspond to the role assigned to the aircraft.<br />
<br />
See Figure 1. The TASK (Red Arrow) filters the list of aircraft types (Blue Arrow) available to fill the role of "CAP".<br />
<br />
AI tasking can then be executed via two different means. "Waypoint Actions" and "Triggered Actions". Each has its own specific uses. <br />
<br />
===Waypoint Actions===<br />
Waypoint actions are tasks that are tied directly to a groups route and executed upon reaching a specific waypoint. For example a mission designer may want a B-1B to bomb an runway, the designer would plan the B-1Bs route and assign the [[DCS_task_bombingRunway|BombingRunway]] task on the nearest waypoint to the targeted airbase. <br />
<br />
Pros: Tasks can be setup along a route to get consistent behavior from the AI.<br />
<br />
Cons: Tasks can only be started once the group arrives at a waypoint. If for any reason the start conditions prevent a task from executing, then the task will never be evaluated again. <br />
<br />
===Triggered Actions===<br />
Triggered actions are a listing of tasks that can be triggered at any point for the group. These actions can be triggered via mission editor triggers or via the scripting engine. A common use is for a group of artillery to fire at a specified target during the mission. A mission designer would have a group of artillery with a triggered action task to [[DCS_task_fireAtPoint|fireAtPoint]] a pre-defined target once an invasion starts. A trigger that may start the invasion would also use Push AI Task to assign the artillery group its fireAtPoint tasking. <br />
<br />
Pros: Forces a task for AI to immediately follow. <br />
<br />
Cons: By assigning a new task it can easily "interrupt" AI in active tasks. <br />
<br />
== Task List by Category==<br />
===Task Wrappers===<br />
{{listOfTaskWrappers}}<br />
===Perform Task===<br />
{{listOfTasks}}<br />
===Enroute Task===<br />
{{ListOfEnrouteTasks}}<br />
===Commands===<br />
{{listOfCommands}}<br />
===Options===<br />
{{listOfOptions}}<br />
<br />
<br />
[[Category: Mission Editor|AI tasking]]<br />
[[Category: Scripting|AI Tasking]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=Mission_Editor:_AI_Tasking&diff=14580Mission Editor: AI Tasking2023-09-21T02:13:53Z<p>Grimes: /* Task List by Category */</p>
<hr />
<div>This guide applies to using the DCS mission editor and the scripting engine.<br />
[[File:Tasks_and_selection.png|frame|50px|Figure 1: Aircraft Selection Screen]]<br />
== Basics ==<br />
<br />
The AI tasks system in DCS received a much needed and flexible overhaul between DCS Black Shark and the A-10C release. The new system allows for a great level of control over AI actions. <br />
<br />
===Task Types===<br />
There are four task categories and each behave a little differently. These categories are: '''Perform Task''', '''Enroute Task''', '''Commands''', and '''Options'''.<br />
<br />
====Perform Task vs Enroute Task====<br />
<br />
Perform Task: Is a task that is assigned and executed immediately. <br />
<br />
Enroute Task: Is a set of tasking instructions that remains active throughout a groups route. <br />
<br />
<br />
<br />
Example of Difference. Perform Task([[DCS_task_attackGroup|AttackGroup]]) vs Enroute Task([[DCS_task_engageGroup|Engage Group]]). '''Group A''' is tasked with destroying '''Group B'''<br />
<br />
There are no two tasks that are identical between perform task and enroute task, however there are tasks that end in the same result, but go about it completely differently. With the AttackGroup task '''GroupA''' will automatically detect '''GroupB''' and attack it the instant the tasking is given. This includes flying from its current location directly to '''GroupB''''s location and ignoring other targets along the way. With the Enroute Task EngageGroup, '''GroupB''' is added to a list of valid targets for '''GroupA'''. '''GroupA''' simply flies its assigned route, if at any point '''GroupA''' detects '''GroupB''', then it will proceed to engage '''GroupB'''. <br />
<br />
Once '''GroupB''' is destroyed, how '''GroupA''' reacts is different between the two tasks. As stated with the engageGroup tasking '''GroupA''' flew its route whereas with attackGroup it flew directly to the target. Thus once '''GroupB''' is destroyed the flight with engageGroup will continue on to its next waypoint while the flight with attackGroup will have to fly back to make up any waypoints it missed. <br />
<br />
<br />
Enroute tasking is used as a general purpose task that allows AI to react to an evolving threat environment, where-as Perform Tasks are best suited for attacking very specific targets that may be critical to the missions objective. <br />
<br />
<br />
Note: The [[DCS_task_escort|escort]] task is effectively a combination of the two tasking types. It is assigned as a perform task to rendezvous and fly formation on an assigned group, but the act of escorting and protecting the group from the specified threats is an ongoing task that occurs throughout the escorted groups route and position.<br />
<br />
====Commands and Options====<br />
<br />
'''Commands:''' Are actions that are run on the group that don't have any overall effect on what the AI is allowed or isn't allowed to do. Commands typically dictate how a group can interact with the game world (callsign and frequencies) or are actual commands to follow. <br />
<br />
'''Options:''' Are used to define behavior options for the AI group. These options decide what the AI is and isn't allowed to do. The options can over-ride active tasking. For instance with RTB on out of ammo the AI will return to base and abort its current mission if it runs out of a specific type of ammunition. <br />
<br />
Both commands and options are executed immediately and take no time to run. <br />
<br />
<br />
===Aircraft selection and role===<br />
<br />
<br />
When placing an aircraft or helicopter group in the mission editor the "TASK" option is an important setting that controls a number of items. To avoid confusion it is best to think of this option as a "Role" instead of "task". This setting dictates the types of aircraft and pre-made weapons payloads available for that role. Additionally within the AI tasking different tasks are available and are filtered to correspond to the role assigned to the aircraft.<br />
<br />
See Figure 1. The TASK (Red Arrow) filters the list of aircraft types (Blue Arrow) available to fill the role of "CAP".<br />
<br />
AI tasking can then be executed via two different means. "Waypoint Actions" and "Triggered Actions". Each has its own specific uses. <br />
<br />
===Waypoint Actions===<br />
Waypoint actions are tasks that are tied directly to a groups route and executed upon reaching a specific waypoint. For example a mission designer may want a B-1B to bomb an runway, the designer would plan the B-1Bs route and assign the [[DCS_task_bombingRunway|BombingRunway]] task on the nearest waypoint to the targeted airbase. <br />
<br />
Pros: Tasks can be setup along a route to get consistent behavior from the AI.<br />
<br />
Cons: Tasks can only be started once the group arrives at a waypoint. If for any reason the start conditions prevent a task from executing, then the task will never be evaluated again. <br />
<br />
===Triggered Actions===<br />
Triggered actions are a listing of tasks that can be triggered at any point for the group. These actions can be triggered via mission editor triggers or via the scripting engine. A common use is for a group of artillery to fire at a specified target during the mission. A mission designer would have a group of artillery with a triggered action task to [[DCS_task_fireAtPoint|fireAtPoint]] a pre-defined target once an invasion starts. A trigger that may start the invasion would also use Push AI Task to assign the artillery group its fireAtPoint tasking. <br />
<br />
Pros: Forces a task for AI to immediately follow. <br />
<br />
Cons: By assigning a new task it can easily "interrupt" AI in active tasks. <br />
<br />
== Task List by Category==<br />
===Task Wrappers===<br />
{{listOfTaskWrappers}}<br />
===Perform Task===<br />
{{listOfTasks}}<br />
===Enroute Task===<br />
{{ListOfEnrouteTasks}}<br />
===Commands===<br />
{{listOfCommands}}<br />
===Options===<br />
{{listOfOptions}}<br />
<br />
<br />
[[Category: Mission Editor|AI tasking]]<br />
[[Category: Scripting|AI Tasking]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=Template:DCS_tasking&diff=14579Template:DCS tasking2023-09-21T02:13:03Z<p>Grimes: </p>
<hr />
<div>__NOTOC__<br />
<br />
{|class="wikitable" width="1080" style="border-style:hidden"<br />
|-style="border-style:hidden"<br />
|width="125" style="text-align:right"| <font size="4">Task: </font><br />
|width="750" colspan="2"| '''<font size="4">{{{tName}}}</font>'''<br />
|style="text-align:right"| Added with: {{{vNum}}}<br />
|-<br />
|style="text-align:right" | Hierarchy:<br />
|width="550" colspan="3" |[[Simulator_Scripting_Engine_Documentation|Scripting Root]] > [[:Category:Tasks|Tasks]] > {{{type}}} > '''{{{tName}}}'''<br />
|-<br />
|height="10" width="1080" style="border-style:hidden" colspan="4" bgcolor="LightBlue"|<br />
|-<br />
|style="text-align:right" | Tasking Type:<br />
|width="550" colspan="3" |{{{type}}}<br />
|-<br />
|style="text-align:right" | For:<br />
|width="550" colspan="3" |{{{for}}}<br />
|-<br />
|style="text-align:right" | Available Under:<br />
|width="550" colspan="3" |{{{avail}}}<br />
|-<br />
|height="10" width="1080" style="border-style:hidden" colspan="4" bgcolor="LightBlue"|<br />
|-style="border-style:hidden"<br />
|-style="vertical-align:top"<br />
|style="text-align:right" height="70"| Description:<br />
|width="550" colspan="3" |{{{desc}}}<br />
<br />
|-<br />
|height="20" colspan="4" bgcolor="LightBlue"|<br />
|-style="vertical-align:top"<br />
|style="text-align:right"|Format:<br />
|height="100" colspan="3" |{{{form}}}<br />
|-<br />
|-style="vertical-align:top"<br />
|style="text-align:right"|Enumerators:<br />
|height="10" colspan="3"|{{{enum}}}<br />
<br />
|-<br />
|height="10" colspan="4" bgcolor="LightBlue"|<br />
<br />
|-<br />
|style="text-align:right; vertical-align:top"|Examples:<br />
|colspan="3"|{{{exam}}}<br />
|-<br />
|style="text-align:right"|Notes:<br />
|colspan="3"|{{{notes}}}<br />
<br />
|-<br />
|style="text-align:right"|Task List:<br />
|colspan="3"|'''Task Wrappers: ''' {{listOfTaskWrappers}}<br />
<br />
<br />
'''Tasks:''' {{listOfTasks}}<br />
<br />
'''En-route Tasks:''' {{ListOfEnrouteTasks}}<br />
<br />
'''Commands:''' {{listOfCommands}}<br />
<br />
'''Options:''' {{listOfOptions}}<br />
|}<br />
<br />
<br />
[[Category:Scripting|{{{tName}}}]]<br />
[[Category:Tasks|{{{tName}}}]]<br />
[[Category:Mission Editor|{{{tName}}}]]<br />
<br />
<noinclude>[[Category:Templates|{{PAGENAME}}]]</noinclude></div>Grimeshttps://wiki.hoggitworld.com/index.php?title=Template:ListOfTasks&diff=14578Template:ListOfTasks2023-09-21T02:12:39Z<p>Grimes: </p>
<hr />
<div>[[DCS_task_attackGroup|AttackGroup]], [[DCS_task_attackUnit|AttackUnit]], [[DCS_task_bombing|Bombing]], [[DCS_task_carpetBombing|CarpetBombing]], [[DCS_task_attackMapObject|AttackMapObject]], [[DCS_task_bombingRunway|BombingRunway]], [[DCS_task_orbit|orbit]], [[DCS_task_refueling|refueling]], [[DCS_task_land|land]], [[DCS_task_follow|follow]], [[DCS_task_followBigFormation|followBigFormation]], [[DCS_task_escort|escort]], [[DCS_task_embarking|Embarking]], [[DCS_task_fireAtPoint|fireAtPoint]], [[DCS_task_hold|hold]], [[DCS_task_fac_AttackGroup|FAC_AttackGroup]], [[DCS_task_embarkToTransport|EmbarkToTransport]], [[DCS_task_disembarkFromTransport|DisembarkFromTransport]], [[DCS_task_cargoTransportation|CargoTransportation]], [[DCS_task_goToWaypoint|goToWaypoint]], [[DCS_task_groundEscort|groundEscort]], [[DCS_task_RecoveryTanker|RecoveryTanker]]</div>Grimeshttps://wiki.hoggitworld.com/index.php?title=Template:ListOfTaskWrappers&diff=14577Template:ListOfTaskWrappers2023-09-21T02:12:23Z<p>Grimes: Created page with "mission, ComboTask, ControlledTask, WrappedAction"</p>
<hr />
<div>[[DCS_task_mission|mission]], [[DCS_task_comboTask|ComboTask]], [[DCS_task_controlledTask|ControlledTask]], [[DCS_task_wrappedAction|WrappedAction]]</div>Grimes