Speed Posted August 1, 2011 Posted August 1, 2011 (edited) The recent breaking of Moa’s Statsmod and the creation of a new mission scripting environment that lacks print() or trigger.setUserFlag() (combined with a few other things) , makes me believe that there is a bit of a disconnect between the developers of DCS and the modders of DCS. I think that it would be useful for 1) A dedicated Lua wish list thread to exist. Requests for new Lua features are made here. 2) Currently used Lua functions and data could be cataloged so that the devs know what is being used. Perhaps if they know we are using it, it will be less likely to get accidentally or inadvertently broken. So, I’m creating this post to hopefully serve as a sort of dedicated, Lua wish list and requests thread. To keep the topic as concise as possible, I'm going to recommend that we avoid any discussion not related to 1) Requests for new Lua features 2) Reports of currently used features 3) Bugs with Lua. Otherwise the post could get to be a giant mess, defeating its purpose. Additionally, bug reports I think should be welcome, but I would recommend that if you do have them, you report them in a separate thread as well… they are listening… Edited August 1, 2011 by Speed Intelligent discourse can only begin with the honest admission of your own fallibility. Member of the Virtual Tactical Air Group: http://vtacticalairgroup.com/ Lua scripts and mods: MIssion Scripting Tools (Mist): http://forums.eagle.ru/showthread.php?t=98616 Slmod version 7.0 for DCS: World: http://forums.eagle.ru/showthread.php?t=80979 Now includes remote server administration tools for kicking, banning, loading missions, etc.
Speed Posted August 1, 2011 Author Posted August 1, 2011 (edited) Anyway, first up, let me list some things I’d like to see: Last updated: 8/31/2011 1) Add a fifth environment net.dostring_in can access to, the newly-created “mission scripting” environment. So, for example, str, err = net.dostring_in("script", <lua code>) would allow you to send and receive data to the mission scripting environment. 2) Ability to pass tables/variables instead of just strings between Lua environments 3) Ability to assign a waypoint to aircraft and ground units. The waypoint has arbitrary coordinates and could be anywhere. 4) Print function in the mission scripting environment. Looks like this one is coming back, but I’m listing it anyway 5) trigger.setUserFlag in mission scripting environment 6) Trigger functions, from the “mission” environment such as “a_out_text_delay”- make them pass to the mission scripting environment too if possible 7) "safe_write() and "safe_read()" functions: Ability to write and read files to and from a SPECIFIC, safe folder, from the “mission” and “mission scripting” environment. This one would be real nice to have, and it would be safe. For an example of what I mean, imagine that the mission scripting environment gets passed a function called “safe_read” and another one called “safe_write”, that are only capable of reading and writing files to a folder under Saved Games/DCS Warthog/custom mission files. Additionally, the function could do something to limit the size of the file that could be written, if that was a concern. 8 )Easy access to the debriefing events table. Last I checked it was accessible using some debug methods from the “main”/”server” environment. But it’s still a pain in the butt to get to! We would like easier, direct memory access to the events that have occurred in the mission. 9 ) Lua API? Some kind of global, shared-between-all-environments, highly capable Lua scripting interface. Some functions would be restricted in some environments 10) Bug: Unit.getByName (function in the main/server environment) fails on multiplayer clients. Please fix Unit.getByName so it works on multiplayer clients! 11) New Communicator function: Communicator.SendCustomMessage(<sender>, <text>, <soundfile>[, <receiver>) This new function would allow custom radio text and sound to come over a radio channel. Would work in multiplayer. The <soundfile> would have to be included with the .miz, in .wav or .ogg format. 12) os.time() made available in mission scripting environment. It's a harmless function, but is useful in using math.random() 13) Ability to create an explosion anywhere, at any set of coordinates. The Lua function in the "mission" environment that creates explosions is only able to make them at a zone's center. 14) Ability to assign an altitude for the "fire at point" task. In real life, AAA operators shoot into the air at no particular target in the vain hope for a "golden bb" (and undoubtedly also so it looks like they are actually doing something about their cities getting bombed). It would be great to be able to script-in this behavior in DCS. 15 ) Lua code trigger action. This would be a much more elegant and direct solution than the current situation, where the only way we can call Lua scripts is with the "Run Script" triggered action. 16) Lua Script trigger condition. If the script in the trigger condition returns true, then the condition is evaluated true. If it returns nil, false, or fails to compile and run, the condition is evaluated false. Edited August 31, 2011 by Speed Intelligent discourse can only begin with the honest admission of your own fallibility. Member of the Virtual Tactical Air Group: http://vtacticalairgroup.com/ Lua scripts and mods: MIssion Scripting Tools (Mist): http://forums.eagle.ru/showthread.php?t=98616 Slmod version 7.0 for DCS: World: http://forums.eagle.ru/showthread.php?t=80979 Now includes remote server administration tools for kicking, banning, loading missions, etc.
Cali Posted August 1, 2011 Posted August 1, 2011 One thing I miss from lock on 1.12 was the debrief screen. In that screen if showed all missiles fired, kills from missiles and bombs. Case and moa have done excellent jobs with their respected stats. they each have things that are very nice. Like Case has missile percentages, missiles fired, hit and kills. Which I think is very nice to see that info. Moa has his landings and even if you bounce a landing. I never really thought that it should of been added, I thought it was a waste of time. But it is another stat that is nice to see. He also has his ace kills and to get an ace kill, you have to use a heater or guns. However he is still having problems with gun kills not showing up. I know he talks about a lot of this stuff on their forums. It would be nice if people like Case and Moa could talk to the developers about stats and how to improve them. Right now there are a lot of things that they can't do or are hard for them to do. Also it would be nice to use programs like Yoda's ERI, without fear of someone cheating because the server has to allow certain things to be open. Another thing I just thought of is replaying tracks. Sometimes they don't replay correctly or have different results from my computer and the guy who killed me online. i7-4820k @ 3.7, Windows 7 64-bit, 16GB 1866mhz EVGA GTX 970 2GB, 256GB SSD, 500GB WD, TM Warthog, TM Cougar MFD's, Saitek Combat Pedals, TrackIR 5, G15 keyboard, 55" 4K LED
Druid_ Posted August 1, 2011 Posted August 1, 2011 +1 on Speeds requests plus lua functions that allow us to 1) Mod ATC comms 2) Manipulate Radio Menus e.g. change Loadout Menu to restrict weapons available for mission 3) Use existing ingame comms. (saves recording our own & reduces miz filesize). 4) Have the ability to pop menus & select items as in patch 1.1.08 using RadioCommandDialogsPanel.setShowMenu(true) RadioCommandDialogsPanel.selectMenuItem(10) 5) A lua guide with a complete explanation of all functions. I believe Святой is working on this but thought I'd add it anyway. appreciate ED being open to suggestions in this little touched upon area of DCS. i7-7700K : 16Gb DDR4 2800 Mhz : Asus Mobo : 2TB HDD : Intel 520 SSD 240gb : RTX 2080ti: Win10 64pro : Dx10 : TrackiR4 : TM Warthog : ASUS ROG SWIFT PG348Q
miguelaco Posted August 1, 2011 Posted August 1, 2011 1) Mod ATC comms Quite similar but I think it would be useful to have some functions that allow sending radio messages on a given frequency as a nice enhancement to the "message to coalition" and "message to all" actions for triggers. This could be also a trigger action instead. SendRadioMessage(freq, text, sound_file) It would allow for realistic implementation of mission control, ABCCC or even enhancement of existing entities as ATC, AWACS, another friendly flights or JTAC.
ivanwfr Posted August 1, 2011 Posted August 1, 2011 An effective display of how hard devs are listening would be to see the dedicated LUA ED Site wrong and outdated page be updated. Reading this Developer's journal->Lua exporting in DCS is somehow scary while considering whether you should spend a huge amount of your time on things that could get freezed for years. Should mods features be considered as something from the past for some smart marketing reasons, this page must be removed. If this is not the case, this section would be the effective showcase of what we're talking about here. Both ways, Developer's Journal site page has to be reworked. What do you think ?
Moa Posted August 3, 2011 Posted August 3, 2011 Great initiative Speed. For stats purposes it would be helpful to have: 1) A method that maps between client ID and the initiator ID (eg. 16842497). Perhaps also ensure this ID is not re-used within the same game session (these IDs do get reused sometimes for different players). 2) A method that obtains callsign (or unit name for AI) from initiator ID. 3) Update the documentation for the net.get_unit_property() function to match the actual returned values (Speed has pointed out the differences in another thread). 4) Log events for when chaff and flares are used. 5) Provide a function to get position information (x,y,z ASL, z AGL) of an object (eg. useful for determining where someone ejected so it can be marked on a map). 6) Ability to read events table in real-time. Thanks for listening c0ff and the rest of the ED team, even if you have other priorities at the moment (so can't get around to our requests) it's nice to know you are still listening.
Case Posted August 3, 2011 Posted August 3, 2011 It would be nice if people like Case and Moa could talk to the developers about stats and how to improve them. For my stats I made minimal changes to LUA, most of the work is done from the debrief.log where I use LUA to add some more information that I need. So to add to Moa's list of how to improve the debrief.log, the major issue is the lack of information or information being spread across different files. Ideally, I'd like to debrief.log to show: 1. Clients joining the server (name, IP, UCID) 2. Clients entering the server (actually picking a plane) 3. Clients leaving the server (going back to spectators) 4. Clients exiting the server (actual disconnect) 5. For each event, provide the unit type (Su-27, BTR, Molniya) There are only 10 types of people in the world: Those who understand binary, and those who don't.
Speed Posted August 31, 2011 Author Posted August 31, 2011 I updated today with three new requests. I will probably do a bit more editing to make the whole list a little more succinct. And yes, I'm kinda bumping this... but it had gotten a bit buried due to the fact that I've been editing posts in it rather than making new ones. Intelligent discourse can only begin with the honest admission of your own fallibility. Member of the Virtual Tactical Air Group: http://vtacticalairgroup.com/ Lua scripts and mods: MIssion Scripting Tools (Mist): http://forums.eagle.ru/showthread.php?t=98616 Slmod version 7.0 for DCS: World: http://forums.eagle.ru/showthread.php?t=80979 Now includes remote server administration tools for kicking, banning, loading missions, etc.
Recommended Posts