-
Posts
4697 -
Joined
-
Last visited
-
Days Won
10
Content Type
Profiles
Forums
Events
Everything posted by cfrag
-
Changes to the behaviour of net.dostring_in()
cfrag replied to BIGNEWY's topic in Scripting Tips, Tricks & Issues
It's really not hard (actually, it's trivial) to patch net.doStringIn() so that a security layer inspects the context and allows or disallows it depending on the mission file that is running, from ission to mission, in the 'mission' environment. The same goes for any other environment. I respectfully contradict your kind message and assert: anyone with access to the interpreter level and a modicum of Lua knowledge can make net.dostringIn() safe depending on the mission that is running. If we have a set of missions that we want to allow unsafe invocations, all we need is a list of their file names. And users could manage that easily, heck even (if you can't be bothered to give that to your customers) have them put in a folder '/unsafe' inside your '/Missions' folder. It's exceedingly easy to manage this, and it looks like no thought has gone into this at all. That's why I'm so disappointed. -
DML - Mission Creation Toolbox [no Lua required]
cfrag replied to cfrag's topic in Scripting Tips, Tricks & Issues
Yup, The new release from ED introduces a new, braindead 'security' scheme that prevents scripts in missions from invoking net.dostringIn() unless you create some arcane "autoconfig.cfg" text file in a similarly arcane location. It is simply crap design, and I'm at a loss of words seeing how ED simply did this without bothering to ask the community. The results are far ranging: slotblock (if you play foothold), ssb (another popular slot block), stopGap for multiplayer, twn, radio, ... all require the new 'security' BS. IMHO, the result will be that everyone who wants to play a modern, good mission will have to allow unsafe invocations, and this results in LESS security for DCS than before. What an ill-thought out, idiotic, crude approach to security. Goodness. And ED rammed this atrocity down everyone's throat without ever announcing it or soliciting ideas. Because it is trivial to come up with better solutions, solutions that could help DCS become a modern, player-friendly SECURE app and could ditch the silly 'unsanitize' approach of today. But no, we now have 1980's style "autoconfig.cfg" files. If it wasn't so sad, I would laugh. This is bad. And completely unworthy of ED. -
Changes to the behaviour of net.dostring_in()
cfrag replied to BIGNEWY's topic in Scripting Tips, Tricks & Issues
It was. It is used to invoke some code in other environments and pass back data. Regard this snippet: local command = 't = loadfile("' .. path .. '"); if t then t(); return net.lua2json(towns); else return nil end' local json = net.dostring_in("gui", command) if json then towns = {} traw = net.json2lua(json) end Above (plus correct path info of course) reads all towns with their location from any map, and allows scripts to determine where something is, provide better locations, and even determine if a location if worth an attack (it is required because "towns" isn't otherwise accessible in MSE. And it simply worked. Same for radio frequencies, getting the name of the currently running mission (for easy restarts because the trigger version saves a string which buggers versioning). And of course, the venerable SSB (simple slot block) used it to pass slot blocking info. All gone to this 'improvement' -
Changes to the behaviour of net.dostring_in()
cfrag replied to BIGNEWY's topic in Scripting Tips, Tricks & Issues
This is atrocious -- I am severely disappointed and aghast. I feel that you (ED and their community managers) could have announced this change more than 24 hours in advance (6 months would have been a better time frame), and perhaps solicited feedback from the community -- because the way that you (ED) chose to implement this sandbox protection scheme is a 1980's design. "autexec.cfg" - are you frigging kidding me? Doesn't anyone at ED understand modern UX and or UI design? Why use such an obsolete and user hostile one-size-fits-all scheme when it would be so much better to build a "sandbox on/off" switch into DCS proper, and then add a simple UI that allow users to add folders to an 'allow unsafe' box that automatically allows unsafe invocations for any mission inside? Users could drag folders/directories and/or missions into the box and - boom! - they allow unsafe invocations. Designing this is (or should be to your talent) near-trivial (I did interface stuff like that in 2 hours -- 2002, on a Mac in XCode!), and a so much better approach for users who grew up with a Mouse. I feel that this new 'design' of yours is unworthy of you, and it feels like such a blatant slap into all of your content creators' face that I am deeply saddened to see how you simply (and callously) implement a far-reaching change like this without ever feeling the need to consult your community and contributors. Are we that worthless to you? That new 'feature' of yours kills any mission that uses net.dostringIn(). You do realise that mission scripters resort to doscript_in because DCS's mission scripting environment requires this to circumvent a bad flaw in MSE's design, do you? This means that any mission today that is sufficiently advanced will stop to work and require that unsafe patch, which will probably result in most DCS installs being unsafe. The exact opposite of security - likely a complete failure of what you set out to do. Why, why, why did you not try to sound out this change with those who spent lots of time creating missions for your product? I would have expected more from you, ED. For the record, can I request that you. or someone from ED, elaborate if you agree that this is merely a coarse stop-gap and that you do have a real, user-accessible and well thought-out future version waiting in the wings? Because this? This is bad design. Will we get a real 'sandbox' security interface for DCS? I don's feel like updating the 50 (?) missions I put on Userfiles, so maybe they run, maybe not. 9 out of the last 10 missions I published there no longer work and now require unsafe invocations. So be it. I cannot be bothered to care if you, dear ED, can't be bothered to engage with your community either. What a mess. I hope that you will fix it soon. Will you, ED?- 96 replies
-
- 20
-
-
-
DML - Mission Creation Toolbox [no Lua required]
cfrag replied to cfrag's topic in Scripting Tips, Tricks & Issues
It would be near trivial to write a script for that. And it would be near-trivial for a player to designate any point and have arty pound it, which is why I so far did not implement it, it’s simply too easy (for an approximation, install theDebugger in a mission, and use the boom command. That would be very similar). And if we can hash out a good, fun way how this feature could work, I’m happy to create a script for that… -
The "size" of a conflagration is determined by the number of fires - DCS isn't really good at simulating fires, and you may have noticed that fires really are 2D 'billboards' with low-resolution artwork pained on. Trying to make this a better experience by controlling the size of fires proved not to be worth the effort, so what I call 'size' is really number of burning cells. Hitting the fire is a combination of velocity and altitude (of course). Simplistic though it may be, the fire-fighting module simulates dropping the fire correctly (if near-instantaneous) using simple vector algebra. So your best bet would be flying slow, and release directly above the flames. Since (again) fire in DCS is (sadly) a purely visual effect, you can fly into the flames without being affected by heat nor updraft.
-
DML - Mission Creation Toolbox [no Lua required]
cfrag replied to cfrag's topic in Scripting Tips, Tricks & Issues
Version 2.5.3 - 20250717 - update Summertime... and the living is definitely not easy for a Northerner living in (what feels like) the tropcis, so thanks for nothing, Gershwin! And, poor me, I had to upgrade my main PC and now am terrorized by ample performance and quick responses, unheard of for years. Even DCS feels snappier - occasionally. Yeah, I'm really suffering here. I'm looking at some tangential ideas that I've long since wanted to bring to DML, but in the past weeks I've spent a lot of time playing my very own "Expansion", and therefore had to tweak it here and there, which in turn required a number of tweaks to DML. All these changes are in this release, and I'm now turning again to one of my more peripheral DML pet projects (almost entirely eye candy) that I maybe can bring to DCS soon. Working on more substantial DML enhancements (e.g. persistence, warehouse) currently is out of question to me, as DCS is currently notwhere near what I need it to be. All changes Manual Documentation - reconMode updates for static objects - some spelling corrections Quick Ref - updates to reconMode Demos ADF and NDB fun - updated to current version reconMode reloaded - updated to current version Modules - cfxZones 4.5.4 new allObjectsInZone() - cloneZone 2.8.0 better integration with reconMode - csarManager 4.5.4 reduced verbosity - NDB 1.3.1 - improved starting guard - improved on? off? reading - reconMode 2.5.1 - reconMode now can report static objects as well - twn 1.0.3 - added compatibility with marianas ww II Enjoy, -ch -
Missions, Instant Missions, Campaigns, Trainings ... where to store them?
cfrag replied to TheBiggerBass's topic in DCS 2.9
While I believe this discussion to be helpful and interesting, I also believe that it would behoove ED to lend a hand and bring mission organization out of the 1990s: by only listing missions (and not merely showing files ending on .miz, they do more and make sure it’s a zip format), they show that they have that ability; they could offer filters for map, aircraft type, multiplayer, and maybe even time of day, to make choosing a mission much more accessible. And yes, that mission dialog should find any mission inside saved games. We live in the second quarter of the 21st century, for crying out loud! What we have today is IMHO pathetic, and probably (hopefully) no longer represents the abilities of ED’s talent… -
That may have been a side effect of sg - a DCS synchronization bug that is worked around by putting stopGapGUI on the server (and only the server). You know that you should not provide me with that kind of intel, right? You have given me a ton of evil ideas to put into upcoming versions of Expansion -- Oh, and my compliments to Magic, wrangling the mission and the su-25 nose-jobs. Having real-life command authority on your side definitely is a boon
-
Which royalty free Music do you use?
cfrag replied to Rudel_chw's topic in User Created Missions General
Most of my audio assets come from here: https://assetstore.unity.com/audio You may need to become a member, but IIRC you can do that for free, and Unity is a first-tier business. -
Which royalty free Music do you use?
cfrag replied to Rudel_chw's topic in User Created Missions General
I know that you are asking for royalty free music, and although my advice does not cover that, please hear me out. I'm using licensed music and audio for my missions - there is a lot of great aural artwork available, and I support artists by licensing their work, provided that I can use it in my works without further cost. So, for a couple of bucks I can add great audio to my missions, and the artist can get something. I currently own multiple audio libraries (i.e. GB of audio) that I own licenses to include in my missions, and I think it was well worth the cost (big libraries are around USD 20 with unlimited uses). Hailing from the game dev side of the universe, I usually look at the artwork stores in Unity and Unreal first, plus (occasionally) commission work from friends (Torsten's Axe in my "A-10 joyride" mission for example). So, please don't only look at royalty free stuff, also look if acquiring a license for audio may be inside your abilities. It's often worth the shot if you have the means, and the licensing terms are agreeable. -
In general, using AI for creating DCS mission scripts at this point in time only works if you already know mission scripting very well. AI do not (yet) understand context, so they are offering up pieces of information filtered through your question. If you know DCS mission scripting well, that can help a lot since you can take the idea presented in the code snippets and make a working whole out of it. If you do not know DCS mission scripting at all, you will not understand what the AI presents you, and it won't work. Now, there are multiple other things that you may want to look at and clear up: You seem to conflate creating and editing a mission - which implies that you first want to create a mission, and then, based on that mission, want to refine the results by editing it. This is of course a sensible approach; still you may want to explore simply editing an existing (created by some other author) mission to discover how the mission was put together, and to learn the tricks of the trade. That's how I started creating missions, and I saved myself a lot of grief learning mission crafting that way. Using an AI chat bot for this is something I haven't tried - maybe it helps have an AI dissect a mission but since AI can't yet understand context, I'm dubious about the prospects. Finally, you seem to have concluded that you need mission scripting to achieve the goals that you envision for your mission. Using AI to tie together a mission and mission scripting *requires* that an AI understands the context of both your question and the missions that it learned from. This is impossible today. At best you can get AI to provide hints on how to script a certain element of a mission, tying these things together is beyond today's AI competencies.
-
Hmmm. It could be advantageous to think this further through... The CSAR pilot side of this indeed is interesting, and a CSAR mission to evacuate someone can be a great mission. Being the evacuee, though - not so much. You essentially sit around, and wait - say 40 minutes for the rescue helo(s) to arrive (tbh, 40 minutes is unrealistically short). You then get on board, and sit around for another 40 minutes while the helo is RTBing. You may want to pick up a hobby like watching paint dry to train for those missions. Also, the FPS aspect of DCS is quite underdeveloped, and I think it will stay that way for a long time. So you are likely to sit around in really bad scenery for 40 minutes to be picked up and shipped home. Oh, and if present-day enemy DCS AI spots you (a Soldier AK), they are likely to snipe you from 1 mile away. Good times.
-
DML - Mission Creation Toolbox [no Lua required]
cfrag replied to cfrag's topic in Scripting Tips, Tricks & Issues
It was. The folder name for the theatre map doesn't match up with the theatre name, so I had to patch twn for this. It's a simple patch and now should work: twn.lua -
DML - Mission Creation Toolbox [no Lua required]
cfrag replied to cfrag's topic in Scripting Tips, Tricks & Issues
Agreed. I've run across a similar issue with Nevada that has a non-ASCII character in a city's name that brought lua2json to a grinding halt. I'll investigate to see what may be the issue here, thanks! -
DML - Mission Creation Toolbox [no Lua required]
cfrag replied to cfrag's topic in Scripting Tips, Tricks & Issues
You control which helicopters are accepted for CSAR missions with the 'troopCarriers' attribute in the csarManagerConfig zone troopCarriers A list of helicopter types that are allowed to carry/rescue troops in this mission. Defaults to DCS Common’s list of troop carriers (which is usually Mi-8MT, UH-1H, Mi-24P), but you can provide your own list (for example to add non-official types). Example: “Mi-8MT, UH-1H, SA342Minigun” removes the Hind and adds the Gazelle in Minigun configuration to the list of legal troop carriers. Supports wildcard type endings: if a type ends on an asterisk (“*”) all types that match whatever precedes the asterisk are accepted. For example, “Mi-*” will match both “Mi-8T” and “Mi-24P”. You can supply the type ‘helos’ to allow all player helicopters (including unofficial Mods like Blackhawk) to carry troops. You can supply the type ‘any’ or ‘all’ to allow all player aircraft to carry troops. Default <none> (use dcsCommon’s list of troop carriers) Please be advised that the autoCSAR module does not provide the CSAR services, it merely automatically creates a CSAR mission for a pilot that successfully ejects. -
DML - Mission Creation Toolbox [no Lua required]
cfrag replied to cfrag's topic in Scripting Tips, Tricks & Issues
Can you (after removing all mods should they be in there) please allow me to look at the miz? The changes are new, and I'm sure I may have missed something. -
Hmmmm. I had a quick look at the miz that you kindly attached. Using Comms -> F10 Other->Kill does not kill anything You do not seem to be using DML to spawn the units. You are using RND to trigger a trigger rule that activates a late activation group. I recommend using a cloner for each, and trigger each of the cloners using RND. Although you can mix old-school trigger rules with DML, DML often has much better, easier tools ready for you to use.
- 2 replies
-
- mission editor
- dml
-
(and 2 more)
Tagged with:
-
DML - Mission Creation Toolbox [no Lua required]
cfrag replied to cfrag's topic in Scripting Tips, Tricks & Issues
I went with something very similar: use a 'recon' zone, and now it also collects static objects inside that zone. I've slightly changed the semantics of the recon attribute value - it still defaults to 'prio' and now you can add something other than 'black' or 'prio' to indicate non-prio/blacklisted. So if you want to add a static object to recon, and do not want it to be a priority target, simply add something other than a word starting with "black" or "prio" as value, and you are set. Preliminary version and demo miz below. Note: requires updated version of cfxZones. Enjoy, -ch reconMode.lua cfxZones.lua demo - recon mode - reloaded.miz And here's the updated info from the doc: recon Marks all ground groups that have at least one unit inside the zone or static objects inside this zone as recon relevant. Furthermore, · if the value for this attribute starts with “black” all groups that have at least one unit inside this zone are added to the blacklist · if the value for this attribute starts with “prio”, all groups that have at least one unit inside this zone are added to the priority list. If such a group / static object is spotted the module’s prio! output is triggered. · if the value is neither “black” nor “prio”, the units inside are neither priority targets nor blacklisted yet can generate the reconMessage and output signals when spotted. Defaults to “prio” – all groups / static objects inside this zone are priority targets. Additionally, if a priority target is spotted, a signal is sent over the modules ‘prio!’ output. MANDATORY -
First of all, this is not a joke request - I really think that we should have a C-172 or PA-28 in DCS. And it should be one of the free planes, available for everyone. But why? First and foremost for contrast. So many people know the other flight sim, and when they come to DCS they want to first experience the unknown in the known, e.g. take off from Batumi in a 172. If it has a good flight model (unlike most of the dinky 172s in the other sim) and realistic stall behaviour, they'll immediately see that they "aren't in Kansas any more, Dory" - even without making things go boom. I think it makes DCS much more approachable, as a simple 172 or Cherokee is also simple to set up, experience, and immediately makes the neophyte user want more - after they know how the basics work in DCS (I've watched by godson getting frustrated with DCS trying to set it up himself, he quit half way through - not because it was difficult, but because DCS is s#|7 to set up, a horrendously bad UX). Make them hunger for more, allow them to cross into DCS more smoothly. It also makes such a great difference when you've 172'd Senaki-Kolkhi's 09, and then try the same in a jet (e.g. Su-25T). That way the difference between other flight sims and DCS becomes much more palpable, and DCS can show off, put it's best foot forward. Being able to compare something known with something new helps players to be convinced that DCS really is better than that other sim. For other players, I also assert that a slow, easy to fly modern prop plane - especially for those who are licensed - is something that they'd appreciate and use to get to know new airfields/maps. Perhaps use the YAK-52 (nobody believes anymore that it will ever leave EA, so we might as well use it for something useful) as a Cherokee spring board and make it available to all for free after stripping the more complex parts (retractable gear, constant speed prop etc). A low complexity SEPL for all could be what people want to see in DCS - if just to compare that plane's performance to the Hornet that they stap on a minute later. Heck, I'd even pay for those, but I also paid for the YAK - simply to have some low complexity plane in DCS.
-
DML - Mission Creation Toolbox [no Lua required]
cfrag replied to cfrag's topic in Scripting Tips, Tricks & Issues
Well, living in Switzerland (and Europe by association) does have it's advantages. La fée verte never really went away here (from Neuchâtel and some other Cantons) and has returned in earnest some 30 years ago. That psychedelic brouhaha surrounding thujone appears to have been a bad-faith rumor placed intentionally by some other spirit industry magnate and now turns out to be incorrect. "Death in the afternoon", unlike the book, is worth it, if not in the quantities recommended by Hemmingway ("5 before 5") . I'm thinking along similar lines, any experimenting with some set-ups that hopefully allow for both good QoL and good performance. Agreed.
