DCS editor FAQ

From DCS World Wiki - Hoggitworld.com

Mission Editor Frequently Asked Questions

Why is a unit missing from a country!?

Historical Mode UI

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.

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.


Why can't I see a livery?

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.

   countries = {"USA","AUSAF"}

Why doesn't this trigger execute?

Faq mission start.jpg 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.

Why do AI aircraft keep attacking before I want them to?

Default Task example

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.

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.

Solution: Delete the default task.

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.

Solution: Set ROE to "Only Designated"

Why don't the AI attack enough? All their missiles keep getting shot down!

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.

Solution: Use search then engage unit or attack unit tasks. These tasks have options that allow you to customize the attack behavior.

  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. 
  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. 
  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. 

Why isn't an AI task, option, or command working?

TaskBlock

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.

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.

I asked chatGPT to write scripting code, why doesn't it work?

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.