Jump to content

DML - Mission Creation Toolbox [no Lua required]


Recommended Posts

21 hours ago, cfrag said:

It doesn’t. DML assumes that the sound files are pre-loaded (meaning: you need to create a trigger that (usually never executes, say time later than 100000) plays all sound files as action “Sound to all” (or similar). This causes DCS to add the sound files automatically into the miz’s sound folder. Then you reference them by their file name (no folders), and DML finds and plays them. Unfortunately there currently is no better way. DML does support a folder structure, but you really do not want the hassle of managing sound files in the .miz

That rather depends. Often, when the client connects to the server, the messages have disappeared already, they appeared when the mission starts. Also, dedicated servers have no visuals, so you can’t see them there. Try and run the mission self-hosted, and you should be able to see the messages.

ah ok I think I understand about the sound files.  Ill give it a whirl!

Also, the messages do appear on a local mp server but not on dedicated server.  But the features are still appearing to work. 🙂

EDIT: Ok so ive got the sounds loaded using a on start mission trigger where a flag that never fires has the play to coalition red (so blue will never hear it)

THen I added the config zone for ownedZonesConfig and added winSound and loseSound values and set their values to the filenames which are blueCap.wav and redCap.wav respectively.

I then tested a zone turning neutral and the sound didnt fire.  It does fire when its capped though.

Also, one of the zones at startup think its been captured even though its starting alignment is blue and is playing the capture zone sound.

EDIT2:  IM also having a problem where im trying to make a helicopter clone and then continue on its mission.

The helo clones ok, but i used a LAND waypoint action at wp0 with a stop command to fire when a standard ME flag is fired, to delay the take off until the flag is fired.

Without the clone, the helo takes off ok, but when I clone it, it just sits there and ignores the flag and continues the stop action.

Any ideas?

Thanks a lot for this amazing work.


Edited by Chad Vader
Link to comment
Share on other sites

19 hours ago, Chad Vader said:

The helo clones ok, but i used a LAND waypoint action at wp0 with a stop command to fire when a standard ME flag is fired, to delay the take off until the flag is fired.

Without the clone, the helo takes off ok, but when I clone it, it just sits there and ignores the flag and continues the stop action.

Apologies, but without some visual yaids (configuration of the units, cloner etc.) my stupid mind can't fully understand what you are trying to do. Do you have a bit more information on what you are trying to achieve, and how? Maybe then we can find out how to overcome this issue.

Link to comment
Share on other sites

5 hours ago, cfrag said:

Apologies, but without some visual yaids (configuration of the units, cloner etc.) my stupid mind can't fully understand what you are trying to do. Do you have a bit more information on what you are trying to achieve, and how? Maybe then we can find out how to overcome this issue.

Sure thing!

I guess im struggling to see how DML interacts with normal ME flags.

SO basically a helo wants to hold position until a trigger is fired.

It has 1 waypoint, to fly to a point then it has a waypoint action of land.  It lands in a zone and some late activation troops appear due to another trigger.

In order to make it hold position I use a stop condition on the LAND action

image.png

The trigger is simply a zone that an aircraft flies into then a flag is raised:

image.png

Lots of groups activate once the trigger fires but the thing we are insterested in here is the flag on 1 event.

this feeds into another trigger that waits 60 seconds and then starts lots of different actions, but it raises flag 2 which is the stop condition for the helo.

image.png

So, using normal mission editing design the helicopter starts to move to waypoint 2 now as its land action has stopped when flag 2 is raised.

So i thought, it would be powerful if I could clone that unit so it carries out its task, is removed and then goes again.

Here is the clone template:

image.png

Here is the clone trigger

image.png

So im following the example on page 515 of the manual which feeds raiseflag into a start delay timer.  This actually works!  But, when flag 2 is raised, the stop condition for the standard waypoint action does not fire, so it looks like the waypoint actions are not being properly cloned.

Finally, there is a trigger that raises a flag to say that the invasion is over and I want the spawners to stop spawning planes.  Im not sure how to pass a regular flag into the spawners to make them stop spawning.

Hope that makes sense.

EDIT: I actually think ive solved this by using a onStart value of no and a spawn? value of 2 (for ME flag 2)

Now the helos spawn in when ME flag 2 is raised.

But how do you make them stop spawning?


Edited by Chad Vader
Link to comment
Share on other sites

3 hours ago, SPAS79 said:


DCSDB - S-8TsM (dzsek.github.io) - that's the russian version of a WP marker AFAIK.

WP currently supports the following weapons:

·         HYDRA_70_M274

·         HYDRA_70_MK61

·         HYDRA_70_MK1

·         HYDRA_70_WTU1B

·         HYDRA_70_M156

·         HYDRA_70_M158

·         BDU_45B

·         BDU_33

·         BDU_45

·         BDU_45LGB

·         BDU_50HD

·         BDU_50LD

·         BDU_50LGB

·         C_8CM

·         SNEB_TYPE254_H1_GREEN

·         SNEB_TYPE254_H1_RED

·         SNEB_TYPE254_H1_YELLOW

·         FFAR M156 WP

Since this covers the WP that, for example, the Su-25T can carry, it's a definite possibility. Weapon names inside DCS are a complete mystery, and often bear little resemblance to what they are called anywhere else. It may come down to you simply testing, and if WP doesn't support a specific weapon, it won't take too long to add it as soon as we know what it's called inside DCS.

 

Link to comment
Share on other sites

5 minutes ago, cfrag said:

WP currently supports the following weapons:

·         HYDRA_70_M274

·         HYDRA_70_MK61

·         HYDRA_70_MK1

·         HYDRA_70_WTU1B

·         HYDRA_70_M156

·         HYDRA_70_M158

·         BDU_45B

·         BDU_33

·         BDU_45

·         BDU_45LGB

·         BDU_50HD

·         BDU_50LD

·         BDU_50LGB

·         C_8CM

·         SNEB_TYPE254_H1_GREEN

·         SNEB_TYPE254_H1_RED

·         SNEB_TYPE254_H1_YELLOW

·         FFAR M156 WP

Since this covers the WP that, for example, the Su-25T can carry, it's a definite possibility. Weapon names inside DCS are a complete mystery, and often bear little resemblance to what they are called anywhere else. It may come down to you simply testing, and if WP doesn't support a specific weapon, it won't take too long to add it as soon as we know what it's called inside DCS.

 

Thanks for the answer. I'll do some testing and report back. Also, probably the splash damage script is a good tool to catch weapons names...

 

Link to comment
Share on other sites

1 hour ago, Chad Vader said:

So, using normal mission editing design the helicopter starts to move to waypoint 2 now as its land action has stopped when flag 2 is raised.

So i thought, it would be powerful if I could clone that unit so it carries out its task, is removed and then goes again.

Ah, indeed good thinking - except that likely DCS itself is leaving you standing in the rain.

The issue here is that you are using "FLAG ON", and once a flag is turned on, It no longer fires again if you again invoke an action "FLAG ON" - it's already on. DML sidesteps this issue by being able to trigger on a flag change. DCS, sadly, not so much. 

The same I believe is at issue with your "Time since flag 1" - once it has fired, it won't fire again. So you essentially do have everything ready to go and set up, the routes are correctly cloned with everything good to go. But DCS is very likely to handle Flags named "1" and "2" different from what you expect. 

Just now, SPAS79 said:

the splash damage script is a good tool to catch weapons names

It surely is (I love that script). Problem is, I have no way of tying those names to the correct WP, so it's a good start that doesn't lead me anywhere. But WP's 'verbose=true' setting will tell you when you fired a weapon that it does not support and what it is called, so it's relatively painless to get those names. 

Link to comment
Share on other sites

15 minutes ago, SPAS79 said:

Thanks for the answer. I'll do some testing and report back. Also, probably the splash damage script is a good tool to catch weapons names...

 

It also usually shows up in the DCS.LOG on the weapon arming section. That's where I found the FFAR M156 WP (Harrier)

 

Also,  PLEASE don't change anything, but I read something in the Razbam forum to the effect that of the BDU-Series bombs, only the BDU-33 actually creates smoke. The others are just inert warheads otherwise mimicking the ballistics of the other weapons.

I really like having BDU_45/50LGB for precision marks.  Currently the BDU_50LGB does not seem to follow the laser (at least in the F-15E). Hornet only carries the -45 which works well.

 

After all, distant Artillery is not going to actually SEE the WP mark for targeting, and the FAC transmits the MGRS coords to the artillery (or DML does) at the position of the mark... so the WP is sort of an atmospheric thing.  Usually WP would have been used for attackers with a visual on the smoke.  It's a shame the OV-10 mod doesn't have a radio, so we cannot use the quintessential FAC to mark targets with WP rockets.


Edited by Recluse
Link to comment
Share on other sites

35 minutes ago, cfrag said:

Ah, indeed good thinking - except that likely DCS itself is leaving you standing in the rain.

The issue here is that you are using "FLAG ON", and once a flag is turned on, It no longer fires again if you again invoke an action "FLAG ON" - it's already on. DML sidesteps this issue by being able to trigger on a flag change. DCS, sadly, not so much. 

The same I believe is at issue with your "Time since flag 1" - once it has fired, it won't fire again. So you essentially do have everything ready to go and set up, the routes are correctly cloned with everything good to go. But DCS is very likely to handle Flags named "1" and "2" different from what you expect. 

 

Thanks for the reply! Hm, im not exactly sure what you mean, but what im finding is that when the units spawn they do not follow their assigned waypoints they just fly off in a random direction and try to attack the first thing they see.  THey do not do this when I do not clone them.

Ive passed in the ME trigger "2" into the cloner as the spawn? attribute, and this works, but they do not follow their assigned mission which is to fly to waypoint 1 and attack a specific group.

Link to comment
Share on other sites

16 minutes ago, Chad Vader said:

when the units spawn they do not follow their assigned waypoints they just fly off in a random direction and try to attack the first thing they see.

That doesn't sound good. Cloners cloner the entire route, and (should you be using templates from other location) can move the waypoints to provide some relative adjustments. They should not just fly around doing random stuff, this could be a bug. Can you create a small mission for me with an example of such misbehavior so I can have a look at it?

16 minutes ago, Chad Vader said:

Ive passed in the ME trigger "2" into the cloner as the spawn?

If you use the flag named "2" both as a spawn trigger and waypoint 0's condition to stop doing something, by the time that the unit spawns, the the flag is set to something other than 0, and the stop condition for landing is fulfilled, meaning that it should stop doing the landing and do something else (or am I mixing this up?)

I'm sure we can get this figured out, so let's see if we can get a small example working. First as a non-dml single (non-repeating) instance, and then see if we can get it repeating with a cloner.

 


Edited by cfrag
  • Like 1
Link to comment
Share on other sites

19 minutes ago, cfrag said:

That doesn't sound good. Cloners cloner the entire route, and (should you be using templates from other location) can move the waypoints to provide some relative adjustments. They should not just fly around doing random stuff, this could be a bug. Can you create a small mission for me with an example of such misbehavior so I can have a look at it?

If you use the flag named "2" both as a spawn trigger and waypoint 0's condition to do stop doing something, by the time that the unit spawns, the the flag is set to something other than 0, and the stop condition for landing is fulfilled, meaning that it should stop doing the landing and do something else (or am I mixing this up?)

I'm sure we can get this figured out, so let's see if we can get a small example working. First as a non-dml single (non-repeating) instance, and then see if we can get it repeating with a cloner.

 

Ah ok, I got it.  I have removed the stop condition and instead allowed the unit to just spawn in when the 2 flag is raised.  This seems to be working now! 🙂

How do I now raise a flag to tell the cloner to stop cloning unit.  For example, when a certain mission condition is reached (for example all the DML zones in an area are captured).

I was thinking of banging a flag in each zone and increment it so that when it reaches a certain value, the cloner stops spawning.  But I dont know how to tell the cloner to stop.

Thanks for your help 🙂


Edited by Chad Vader
Link to comment
Share on other sites

9 minutes ago, Chad Vader said:

How do I now raise a flag to tell the cloner to stop cloning unit.

Since (currently) a cloner does not have inputs to turn them on or off, they run a clone cycle each time that they receive a signal on their "clone?" input. So what you want is something to prevent that signal to reach the cloner. There are multiple ways to do that. If I look at your clone stack, I see that you are using a Timer (delayFlag) module. You can stop that module with a signal on the stopDelay? or pauseDelay? input - i.e. stop the signal at its source

A more general method is to install a 'gate' (or switch) that you can control in front of the cloner's input. That's a job for the changer module. You can use a flag to open/close the gate and stop/allow a signal to propagate from changer's input to output.


Edited by cfrag
  • Like 1
Link to comment
Share on other sites

15 minutes ago, cfrag said:

Since (currently) a cloner does not have inputs to turn them on or off, they run a clone cycle each time that they receive a signal on their "clone?" input. So what you want is something to prevent that signal to reach the cloner. There are multiple ways to do that. If I look at your clone stack, I see that you are using a Timer (delayFlag) module. You can stop that module with a signal on the stopDelay? or pauseDelay? input - i.e. stop the signal at its source

A more general method is to install a 'gate' (or switch) that you can control in front of the cloner's input. That's a job for the changer module. You can use a flag to open/close the gate and stop/allow a signal to propagate from changer's input to output.

 

Aha brilliant, I will have a look at the changer module.

Do you have any idea on how I can collate the conquered! flags for a particular group of DML zones to check if their capture status is blue?

I want to signal the changer gate to close if a group of particular zones are captured.  Currently looking at countdown module.


Edited by Chad Vader
Link to comment
Share on other sites

Just now, Chad Vader said:

Do you have any idea on how I can collate the conquered! flags for a particular group of DML zones to check if their capture status is blue?

Why, that sounds like a job for the ownAll module! 🙂 


Edited by cfrag
Link to comment
Share on other sites

7 minutes ago, cfrag said:

Why, that sounds like a job for the ownAll module! 🙂 

 

I considered that, but I don't want blue to own all the bases as there are multiple fronts in the map.

I only want them to control a subset of bases to stop attacks occurring in that region.

I am looking at using a counter, but still reading about it 🙂

My idea is to use a counter that increments every time a base turns blue and decrements when it turns red in this region.

THen when all bases are blue shut the gate using the changer.

Link to comment
Share on other sites

2 minutes ago, Chad Vader said:

I considered that, but I don't want blue to own all the bases as there are multiple fronts in the map.

ownAll generates a signal when a specific faction owns all the zones it has in its list, that's all. So if you want a cloner to stop cloning if blue own zone "a", "k" and "f", that's how you do it. Also, ownAll always puts out the number of zones from the list owned by red and blue, so you can easily trigger a flag if either side exceeds or is below a number of your choice (using the apropriate trigger method).

 


Edited by cfrag
Link to comment
Share on other sites

11 minutes ago, cfrag said:

ownAll generates a signal when a specific faction owns all the zones it has in its list, that's all. So if you want a cloner to stop cloning if blue own zone "a", "k" and "f", that's how you do it. Also, ownAll always puts out the number of zones from the list owned by red and blue, so you can easily trigger a flag if either side exceeds or is below a number of your choice (using the apropriate trigger method).

 

 

aha ok thats brilliant.  Can I use multiple instances of ownALl to track multiple lists to fire different events?

Link to comment
Share on other sites

44 minutes ago, cfrag said:

Yes. At least DML won't get in your way.

It all works! 🙂 the 5 bases are capped and the zone stops spawning units 🙂

Thank you very much for your help.

When im done ill pass the mission over to you to see it all working if you like? 🙂

Link to comment
Share on other sites

Just now, Recluse said:

Is ownAll naturally persistent, or do  you need to add the FLAGS to the persistence table? 

Since ownAll derives its values from owned zones (airfields, ownedZones), it will reconstruct its status during mission startup. Just make sure that it loads after airfield and ownedZones. Should you run into persistency issues, let me know and I'll see if can add explicit persistency (rather its current implicit) to the module.

  • Like 1
Link to comment
Share on other sites

@cfrag  Question: Is there any way DML currently can handle some additional logistics operations like Airdrops out of C130's? - cargo or units that will persist or at least register when hitting the ground,  This is enabled in some of the FOOTHOLD missions by some additional scripting, and maybe CTLD also has some of this capability.

I am trying to use DML to put together some FOOTHOLD-like missions. Your Integrated War-Pushback is a good model to follow, but I am interested in adding Bases along with zones and pre-positioning CLIENT spawns with SLOTBLOCKERs so they are available when bases are captured.  Still in the learning phases, but the airdrop mechanic was a really cool alternative to having to fly a helo long distances to drop troops in a ZONE without an airfield.

I have a long way to go, just sussing out possibilities!

Link to comment
Share on other sites

9 minutes ago, Recluse said:

Is there any way DML currently can handle some additional logistics operations like Airdrops out of C130's?

If DML spawns units via spawners or cloners, they are persisted automatically if persistence is enabled. So if you are using a mechanism similar to the great Foothold missions, you should use spawners and cloners to spawn the reinforcements, and they will persist (with all warts that current DCS has: when the mission restarts, all surviving units spawn at 100% health and munitions). And yes, if you use a randomizer (with 'remove') or different templates you can spawn randomized reinforcements at fixed locations on owned zones. Works really well for great missions that remain fresh and can be persisted.

Link to comment
Share on other sites

Me again.

I have a question about heloTroops.  I want to spawn ground units using a spawner when a helo flies into the spawners zone and lands.  Do I use heloTroops for this because in the manual it seems like this module is for player controlled vehicles?

Link to comment
Share on other sites

13 minutes ago, cfrag said:

If DML spawns units via spawners or cloners, they are persisted automatically if persistence is enabled. So if you are using a mechanism similar to the great Foothold missions, you should use spawners and cloners to spawn the reinforcements, and they will persist (with all warts that current DCS has: when the mission restarts, all surviving units spawn at 100% health and munitions). And yes, if you use a randomizer (with 'remove') or different templates you can spawn randomized reinforcements at fixed locations on owned zones. Works really well for great missions that remain fresh and can be persisted.

So, you are suggesting that rather than actually registering dropped supplies, we use some sort of trigger to SPAWN them when the appropriate aircraft is in the vicinity and does the appropriate action?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...