DCS Mission Editing Tools and Discussion

Added a link to the Grimes/Uboat Coalition Editor: Mission Coalition Modification by uboats & Grimes

1 Like

Probably a bit late and/or not up to snuff for this stage of the game - but good ole Pickinthatbanjo has done some great vid tutes on this, too:

If you click on the YouTube link it takes you to the full playlist of 29(!) videos

1 Like

I had to learn how to do this, so a decent summary of how to setup air to air refueling in the editor:

2 Likes

How does one save a created mission with a custom sound so that it works when someone installs it?

The sound file should be in the mission .miz package. Open the .miz and look there.

Use a Play Sound in an event with the appropriate trigger.

1 Like

Your saying that when I save the mission, and say post the .miz the sounds should be included. I don’t need to like include the actual .wav or .ogg. I just wanna make sure I’m not breaking file paths.

Correct. Without getting too technical the .miz file format is just an archive format like a .zip or .7z. The actually missiony bits are in scripts inside. When you tell the editor to load a sound file and save it, the game is taking that file and saving it into the .miz archive.

1 Like

Fantastic thanks guys!

Not sure that the sounds work in multiplayer though. I need to take another look at that and see if the particular case I was testing (2 years ago) works :slight_smile:

I have several missions with sound files. Been working all along.

The sound file size adds to the .miz file size, so large sound files will add to mission loading times.

Question -
Putting both a Blue AWACS and a tanker into a Blue COOP mission. Should the Comms for both a/c be set to the same frequency, default 251 MHz?

Depends on which aircraft and how busy you want that channel to be. Most DCS aircraft can monitor two channels at once (except the F-5, MiG-21, and currently, the Harrier). FC3 aircraft automagically talk to whatever asset they want to talk to regardless of frequency.

1 Like

How do custom skins work for mission packaging? If I dl a skin for like the L-39 will the .miz include it or does the person opening the mission need to download it on their own?

One of two things happens

  1. The other player has the skin installed, can see it.
  2. The other player does not have the skin installed, sees different, default skin instead.

This thread, started by the incomparable @Fridge way back when, seems to be the place to pose my question. If not, perhaps a new thread?

I have worked with lua and scripts before. I get how they work and the power that they can bring ( especially MOOSE and CDLU (?)). That said, I am looking for just a little bit of “power” that the regular triggers do not possess.

Specifically I am looking to create a trigger where a EW radar detects a specific aircraft unit…then something happens (a Flag is set; a Time FromFlag is triggered; a Triggered Action sets a SAM site to ROE FREE after the time is up…(simulates turning on SAM radars, warming up missiles, getting coffee…etc.) The idea is to use DCS’s terrain masking to its full extent.

I’ve done my research. Most scripts like this are focused on a bigger picture - a number of radars and a greater number of aircraft or cruise missiles. That requires matrixes. Makes sense…but I think too big and cumbersome for what I am trying to do.

I have come up with this:

if Group.getByName(‘EWRADAR001’):getController():isTargetDetected(Viper,‘RADAR’) then
return true
else
return false
end

Where EWRADAR001 is the EW Radar and Viper is the aircraft.

Which I think I put in a Trigger Condition LUA Predicate; Trigger action Flag(1)=True

(then for the next trigger: Time From Flag(1) = 60; Trigger Action AI TASK SET (HAWK Site/1. ROE=WEAPONS FREE) )

Or am I way off base?

Take a look at Mist. You can create a zone with the diameter of the radar’s detection ring. A quick Mist script can run to detect your specific aircraft and set a flag. Many of my missions offer an example of this technique.

1 Like

I like to use a “latch” flag that is turned on by the Mist flag, because I have found that the Mist flag will go True every second as long as the condition is met. You cannot use the Mist flag in a Time Since Flag condition because that flag is going True every second, so the latch flag is used instead.
Then when the Mist flag goes False and the latch flag is True, turn off the latch flag.

1 Like

A great site! Thanks. :slightly_smiling_face:

I was hoping not to use Mist - a lot to add just for one Flag trigger. I’ve used Mist before when I am trying to do a lot more things that the ME triggers cannot handle.

Right now I’ve got a “Detection Zone” zone set where the edge is near base of the mountains the jet is using for terrain masking - a simple Unit in Zone and Unit’s AGL More than trigger - works but I was hoping to get a bit more realistic should the player go bit high and lose the terrain masking.

I hadn’t heard of a Latch Flag but from your description, I know the principle. I did some work with bombs and missiles in Zone counting where that principle can be applied - a “Bomb Counter” if you will, Since repetitive trigger will trip all during the time the ordnance is in the zone, I added a Flag = False with the Bomb/Missile in Zone trigger condition. The first time it trips, set that flag to ON. Then a Time From Flag of a few seconds, to turn it to back off. The repetitive “BombCounter” is ready to go again. It’s a simple way to detect when a Wingman has gone “Winchester” (with an increment Flag action) - as long as you and your wingman have slightly different weapons - i.e AIM-120C vs AIM-120B or MK-82AIR vs MK-82SE, etc.

Admittedly it does not work that well with large ripple numbers…but you can get an approximate…and then sneak a peak with the F2 key. :grin:

1 Like

I load Mist with a Mission Start event and it always works well. All Mist coded events are also Mission Starts that follow the initial load. Every event that uses Mist or any other LUA coding has a name that begins with ‘code.’

A recommendation for using Increment Flag. When testing for the Increment Flag value, don’t use Increment Flag = x, instead use Increment Flag > x-1.

like this condition -
If Increment Flag = 2 then do Action()

Instead use -
If Increment Flag > 1 then do Action()

1 Like

What I had done was a compound trigger condition; Flag = x OR Flag > x …but now that you point it out I see that Flag > x-1 will always work…that is what I shall do from now on! :slightly_smiling_face:

1 Like