modsat Posted April 20, 2024 Posted April 20, 2024 I'm just dipping my feet into mission editing, and I've been setting up small (unrealistic) missions for myself, having fun flying around and picking out buildings to bomb. I have fun and it helps me practise visual target acquisition. The things, most of the buildings I pick out are notable buildings/models (they are easy to spot and I'm still new). But these buildings seem to not get visually destroyed when I bomb them. I could be completely wrong, but it seems to me, that any "special" buildings that are not reused many times are not removed from the gameworld when destroyed - maybe because they do not have a damage model? Can anyone correct me on this? My questions are: Why are some building objects not removed from the game world when destroyed (0 hitpoint)? Is there a way to remove those objects/buildings via scripting or otherwise? Is there a way to spawn smoke/fire at a set altitude? Thanks 1
Solution Exorcet Posted April 20, 2024 Solution Posted April 20, 2024 Some unique buildings do not have damage models and you're probably attacking those. You might be able to remove them with Scenery Removal trigger. You can add the smoke and fire by activating Smoke/Fire static objects. Something similar was asked in this thread: Instead of using a mission start trigger, you can use Once and Bomb in Zone to trigger the indestructible buildings to be removed with a clear scenery trigger instead of a destroy building triggers. Or perhaps add a destructible unit near the building and trigger the building to vanish and produce smoke if that unit is destroyed. 1 1 Awaiting: DCS F-15C Win 10 i5-9600KF 4.6 GHz 64 GB RAM RTX2080Ti 11GB -- Win 7 64 i5-6600K 3.6 GHz 32 GB RAM GTX970 4GB -- A-10C, F-5E, Su-27, F-15C, F-14B, F-16C missions in User Files
modsat Posted April 20, 2024 Author Posted April 20, 2024 @Exorcet I did a forum search and I found that thread, but it thought that was strictly about damaging buildings, I had not seen the clear scenery trigger in the editor. Thanks a bunch. That works (although the transition from alive to dead is a bit sudden). In regards to smoke, I have spawned smoke in different sizes, but I have not found a way to spawn the smoke above ground level. I wanted to spawn smoke on the upper floors of a high building.
Exorcet Posted April 20, 2024 Posted April 20, 2024 19 minutes ago, modsat said: I wanted to spawn smoke on the upper floors of a high building. If the smoke doesn't end up resting on top of the building, the only thing I can think of is to try placing a unit on the building and then hoping it explodes from the attack, forcing it to explode with the Explode Unit trigger, or use smoke marker on unit to place smoke on it. This might interact strangely when removing the building though. Awaiting: DCS F-15C Win 10 i5-9600KF 4.6 GHz 64 GB RAM RTX2080Ti 11GB -- Win 7 64 i5-6600K 3.6 GHz 32 GB RAM GTX970 4GB -- A-10C, F-5E, Su-27, F-15C, F-14B, F-16C missions in User Files
cfrag Posted April 20, 2024 Posted April 20, 2024 Something like this? Flames are optional, and it's overkill to run DML just for some fireworks/smoke, but adding that with DML takes you almost a full minute Now, if you want to straight-code it yourself, get the point (probably from a zone you place), add some altitude to the map's altitude (use lang.getHeight for the point) and then use trigger.action.smokeEffectBig with the point where you added the altitude. If that's too much, you can still fall back on DML See the miz smoke above water.miz 5 hours ago, modsat said: I wanted to spawn smoke on the upper floors of a high building. 2
rob10 Posted April 20, 2024 Posted April 20, 2024 12 hours ago, Exorcet said: Instead of using a mission start trigger, you can use Once and Bomb in Zone to trigger the indestructible buildings to be removed with a clear scenery trigger instead of a destroy building triggers. Or perhaps add a destructible unit near the building and trigger the building to vanish and produce smoke if that unit is destroyed. Since you're just starting out, be aware that Bomb in Zone is ORDINANCE (bomb) specific. So you need to specify what bomb type you're going to use rather than it being any bomb that enters the zone. Another trick (especially with buildings) is to put an infantry or unarmed unit and trigger off the death or less alive than of it. Since they will take damage pretty easily it lets you use whatever ordinance you want to take it down. Or if you want a bigger explosion, put two or three of them all with max explode triggers. The explosion trigger even at max is visually pretty small (may well be realistic) so if you're simulating hitting a bomb making workshop or something it's nice to crank up the boom. 1
modsat Posted April 20, 2024 Author Posted April 20, 2024 (edited) 12 hours ago, cfrag said: Something like this? Exactly like that. Thanks a lot. Had not heard of DML yet, but googling it, it sounds like a great framework. I will have to find time to read the documentation soon so I can incorporate it into my missions. In regards to the test missions. Could you explain or point me towards and explanation of the variables in the trigger? I get that AGL is altitude AGL, but the other two would be nice to understand the options for. I see that you have a trigger calling several scripts. How easy is it if I want to copy the smoke effect to another mission? I assume I have to include some files somewhere. Is that realistic without reading up on modding/scripting for DCS in general? Or should I wait with stuff like that till I have some time to read more up on mission editing? @rob10 thanks for the tip. I will keep that in mind Edited April 20, 2024 by modsat
cfrag Posted April 21, 2024 Posted April 21, 2024 (edited) 9 hours ago, modsat said: Could you explain or point me towards and explanation of the variables in the trigger? DML works different from the classic mission frameworks. With DML there is no scripting involved for Mission Designer - all scripts are already written for you, and you use trigger zones to place their abilities. Trigger zones in DCS have these attributes that were never used in plain vanilla DCS, so DML uses them to direct all of its (DML's) new abilities. You can see how useful and simple that is right now: click on the trigger zone that places the fire in one building, copy and paste it over another, and adjust the value for the AGL attribute. Boom - another fire at the location and height that you want. That's how DML works: you pick the abilities you need from DML's large repository of 'LEGO Blocks', and place them on the map with trigger zones. No scripting, just connecting trigger zones with attributes that you edit in ME. The attributes in the triggerzone are fireFX - this tells DML that you want fire here, and that this trigger zone contains the configuring information agl - this tells DML the altitude in meters above ground level where the fire is placed onStart - "yes" this tells DML that the fire effect should be 'on' when the mission starts. There are some more and cool abilities that you can access/change with other attributes to your heart's desire. The details are tabulated in fireFX's module description in DML's manual (do not be deterred by DML's docs. Much of the bulk is made up with detailed discussions of the many demos that come with it). 9 hours ago, modsat said: I see that you have a trigger calling several scripts. Yes, the ONSTART trigger. That is where the DML components are loaded and run to be ready for you whenever you need them. These are the scripts that look at the trigger zones that you place and eagerly look for your direction. 9 hours ago, modsat said: How easy is it if I want to copy the smoke effect to another mission? If you do it for the first time, I expect it will take you a few minutes - you simply have to copy/paste the contents of the three DOSCRIPT actions in the MISSION START rule. Once you have done that a couple of times, I expect that time to drop to less than 30 seconds (10 seconds per script). Once the scripts are loaded, DML is ready to supplement your mission and looks for trigger zones that have special key attributes that tell it that this trigger zone is a DML zone. This mission only uses the 'fireFX' ability, other DML missions will add more modules (e.g. 'messenger', 'cloneZones', 'ownedZones', 'heloTroops' etc). You pick and choose, since it's your mission. This particular mission uses the following parts: dcsCommon - the 'helper' bedrock of code snippets that DML needs to do its thing. Many little functions to allow DML to interface with DCS cfxZones - DML's god-like trigger zone manipulation layer. In a sense, this is DML. It gives all DML modules the ability to access trigger zones, read atributes, and - most importantly - allow the trigger zones to "talk" to each other fireFX - a DML module that specializes on fire effects. That's the DML way - most modules specialize on an isolated ability. By adding the module to your mission, you enable the ability. By adding a trigger zones with the modules key word (here 'fireFX') you activate the ability. The trigger zone tells DML where, when and how you want the ability to be placed and activated. 9 hours ago, modsat said: Is that realistic without reading up on modding/scripting for DCS in general? Yes - DML does not require (actually, it does not support) your own scripting/modding. It is designed specifically for mission designers who do not want to mod/script by themselves. BUT you are strongly to encouraged to read parts of the manual and look at some of the demo missions (usually the demo mission for the ability that interests you) 9 hours ago, modsat said: should I wait with stuff like that till I have some time to read more up on mission editing Mission editing skills (outside of scripting) are always good to have. And if you come across some good documentation in this regard, please pass it on to me. ME is one of the worst documented jewels in DCS. IMHO it's the heart of DCS, and it's treatment as stepchild seems truly heartbreaking to me. It's one of the reasons we have DML: so more people can create fun missions without having to go through mission authoring hell. TBH, with DML, you still have to go through that, but your stay is often much shorter Oh, and if you are interested - here's the DML main thread. There are even some tutorial videos to watch. Edited April 21, 2024 by cfrag 1
modsat Posted April 23, 2024 Author Posted April 23, 2024 (edited) @cfrag dude that is awesome. Read the post and watched a few videos. That seems like a very impressive framework for missions makers. I'm sure I'm going to be using at least some of the functions a lot. I could not understand where the actual code for the functions got added to the mission, but I had not understod that you copy the script into the Doscript trigger. I figured that onStart "yes" meant that the trigger is functional from the start. So far I have not spawned anyting in yet, so I was hoping that I could simple specify a FLAG or something instead of "yes" in the OnStart, so I can spawn the smoke after a bomb is dropped. Could you point me in the right direction in terms of learning how to spawn trigger later in mission? I'm ok with scripting commands, I'm just not sure where to look, so a link or such would be appreciated. I feel you in regards to mission editing. I played a ton of Arma2, and I spent at least as much time making mods and missions for Arma as I spent playing it. Modding Arma got me excited about scripting and developing. As soon as I opened the ME in DCS I felt thrown back to the ARMA mission editor. I could see myself burning a lot of hours toying with the ME. Another question if I may. Do you know of a way to hide units from the F10 map in game without also making the invisible in the ME. When I use the "hide from map" option they disappear completely which is a huge pain in the ME (this function puzzles me). I want to be able to see what I'm developing in the ME but not have enemy units plastered on the F10 map in mission. I've tried clicking the boxes in the bottom of the unit window (Game master etc.) but they do not seem to make a difference when testing the mission. I'm not sure what I'm doing wrong, but it's a bit frustrating. Edited April 23, 2024 by modsat
rob10 Posted April 23, 2024 Posted April 23, 2024 30 minutes ago, modsat said: @cfrag.... Another question if I may. Do you know of a way to hide units from the F10 map in game without also making the invisible in the ME. When I use the "hide from map" option they disappear completely which is a huge pain in the ME (this function puzzles me). I want to be able to see what I'm developing in the ME but not have enemy units plastered on the F10 map in mission. I've tried clicking the boxes in the bottom of the unit window (Game master etc.) but they do not seem to make a difference when testing the mission. I'm not sure what I'm doing wrong, but it's a bit frustrating. If you click on the UNIT LIST option on the left side (triangle, diamond, box symbols) you can check and uncheck the "show hidden units" box to show or hide the hidden units in the ME. You can double click on units in that list to toggle hidden or exposed status of the unit. 1
modsat Posted April 23, 2024 Author Posted April 23, 2024 48 minutes ago, rob10 said: If you click on the UNIT LIST option on the left side (triangle, diamond, box symbols) you can check and uncheck the "show hidden units" box to show or hide the hidden units in the ME. You can double click on units in that list to toggle hidden or exposed status of the unit. Thanks Rob! Not sure how I missed it. I guess there is just so much to take in that even obvious stuff just goes overlooked.
rob10 Posted April 23, 2024 Posted April 23, 2024 10 minutes ago, modsat said: Thanks Rob! Not sure how I missed it. I guess there is just so much to take in that even obvious stuff just goes overlooked. Don't feel bad -- it took me a long time to realize that one. 1
cfrag Posted April 23, 2024 Posted April 23, 2024 7 hours ago, modsat said: I was hoping that I could simple specify a FLAG or something instead of "yes" in the OnStart, so I can spawn the smoke after a bomb is dropped. DML wouldn't be much helpful if it couldn't do that. It's rather a large part of it. In DML lingo, modules have 'inputs?' (note question mark) that look at flags. If the value of a flag changes, the module interprets this as a signal to do it's thing. Almost all modules in DML work that way - they have inputs (plural) that can be connected to flags, and when the value of that connected flag changes, something in that module is triggered. So let's look at fireFX's documentation. Among other attributes, there are the inputs 'start?' and 'stop?' (again note the question mark. That's DML's convention to denote an input, that the module is constantly querying the flag 'connected' to it) start? DML watchflag (input) for when the effect should start. Defaults to <none> stop? DML watchflag (input) for then the effect should stop Note: unlike the smoke zone module, which can take several minutes for the smoke to stop, this fireFX’s smoke and flames take roughly 10 seconds to peter out) Defaults to <none> A large part of DML modules specialize in providing a counterpart to these inputs, they have "outputs!" (note exclamation point). But DML is completely agnostic to how you change flags that it is listening to. So, if you, for example put down a trigger zone, and then have one flag set to change when a unit enters it, you can then connect that flag to start?, and that fireFX in that trigger zone that looks at that flag will start its fire. If you then connect another flag to "stop?" and you write some trigger rules to change that flag when the unit leaves that zone, the fire will go out when the unit leaves the zone. And that's pretty much 99% of the DML way right there: control DML features with flags that signal the module to do something or stop doing something. Ohj yeah, and there are of course tons of modules that specialize in sending signals when you want something to happen. Look, for example, at the radio menu module that allows you to configure entire menus and the flags that it changes with a simple trigger zone (in DML, you seldom go back to the rule editor, it's so much more convenient to do everything right there in the trigger zone where it happens). Please see the attached slightly modified miz. Watch as the APC trundles along the street, the fire first ignites, and then extinguishes, triggered by the units entering and leaving old-school (non-DML) trigger zones. smoke above water.miz 1
modsat Posted April 24, 2024 Author Posted April 24, 2024 @cfrag Thanks a lot for helping and typing out instructions. It sounds like a really great tool! I can't get to my simrig before monday, så can't check the missions out before then, but I will look at it ASAP. Seems like DML is going to be gold to me - especially until I get my head around LUA and scripting for DCS. Looking forward to diving into it next week. Thanks again.
modsat Posted May 1, 2024 Author Posted May 1, 2024 @cfrag The mission is perfect, and it all makes sense to me now. It's a great framework. Easy as can be. I'm sure I'll be using it a lot. Thanks for the help!
Recommended Posts