Grimes Posted December 24, 2013 Share Posted December 24, 2013 (edited) The goal of this script is to enhance AI sam behavior as its one of the more obvious and useful features of the scripting engine. I've been working on it for a year now, and I'm sorry I've teased that I've been working on it for so long. Its taken way longer than it should have, but I guess that is what happens when your focus goes elsewhere whether it be mist, testing, or watching Star Trek on Netflix. Documentation Documentation for the script is available here: http://wiki.hoggit.us/view/IADScript_Documentation More thorough documentation will be added in the coming days. How to use: Script requires Mist v4 or higher to be initialized first. Use a trigger to either run script or script file. Use either iads.add() or iads.addByPrefix() to add sam sites to the iads network. Both functions have one required variable and 1 optional variable. Script should run fine with DCS World 1.2.6 or greater. I do not consider this script to be 100% complete and I will eventually add more capability to it. However I feel it is functional enough to put out there for you guys to play with and give feedback on, but I have other reasons. 1. I started working on the script on 12/23/12 (23/12/12 for most of the world) and dabbled on it for a while until putting many many hours into it over the summer. I came close to releasing it but I discovered it wasn't releasable, since August I have avoided working on it until recently when I realized it would soon be a year since I started, so I have pushed to release it before the end of the year. 2. The script is open source and I welcome anyone who wants to modify it to whatever extent they want to add more features. Documentation of what all of the existing functions do will be available here: http://wiki.hoggit.us/view/IADScript_Documentation 3. I want to focus more on mist and other projects. Notes: Attached are the script and a simple mission with lots of sams and 8 Su-25Ts with a SEAD payload. There is also a screenshot of what debug messages will look like. It is not recommended to leave turn that on for a normal game. Tested in multiplayer in 1.2.6 with up to 110 sams and 100 AI targets and 2 clients. No noticeable synchronization issues occurred, but your mileage may vary with different mixes of clients and other AI within the mission. Re-uploaded the sample mission to be updated for use in 1.5. Also updated the script due to a known scripting engine bug. 1/17/2019: Updated it to include SA-2 and Rapier information. Also removed debugging by default.iads_sample.mizscript_iads_r1_1_rev37.lua Edited January 18, 2019 by Grimes HARM release 7 The right man in the wrong place makes all the difference in the world. Current Projects: Grayflag Server, Scripting Wiki Useful Links: Mission Scripting Tools MIST-(GitHub) MIST-(Thread) SLMOD, Wiki wishlist, Mission Editing Wiki!, Mission Building Forum Link to comment Share on other sites More sharing options...
Gaanalma Posted December 24, 2013 Share Posted December 24, 2013 Amazing.... THX... [sIGPIC][/sIGPIC] www.36stormovirtuale.net Link to comment Share on other sites More sharing options...
ED Team BIGNEWY Posted December 24, 2013 ED Team Share Posted December 24, 2013 Thanks for sharing Grimes Forum rules - DCS Crashing? Try this first - Cleanup and Repair - Discord BIGNEWY#8703 - Youtube - Patch Status Windows 11, NVIDIA MSI RTX 3090, Intel® i9-10900K 3.70GHz, 5.30GHz Turbo, Corsair Hydro Series H150i Pro, 64GB DDR @3200, ASUS ROG Strix Z490-F Gaming, HP Reverb G2 Link to comment Share on other sites More sharing options...
Raf Posted December 24, 2013 Share Posted December 24, 2013 Mhhh, I'm thinking about adding a new tag in the auto-script for this. Link to comment Share on other sites More sharing options...
joker62 Posted December 24, 2013 Share Posted December 24, 2013 Thank you very much for this script and sharing it. antonio. Link to comment Share on other sites More sharing options...
mwd2 Posted December 24, 2013 Share Posted December 24, 2013 Uhhhiii, another tool, thanks Grimes for sharing. Playing: F-16C Intel i7-13700KF, 64GB DDR5 @5600MHz, RTX 4080 ZOTAC Trinity, WIN 11 64Bit Prof. Squadron "Serious Uglies" / Discord-Server: https://discord.gg/2WccwBh Ghost0815 Link to comment Share on other sites More sharing options...
ED Team NineLine Posted December 24, 2013 ED Team Share Posted December 24, 2013 Very nice! Forum Rules • My YouTube • My Discord - NineLine#0440• **How to Report a Bug** Link to comment Share on other sites More sharing options...
ENO Posted December 24, 2013 Share Posted December 24, 2013 Awesome grimes... looking forward to trying it out! "ENO" Type in anger and you will make the greatest post you will ever regret. "Sweetest's" Military Aviation Art Link to comment Share on other sites More sharing options...
graywo1fg Posted December 24, 2013 Share Posted December 24, 2013 Fantastic work buddy! Congrats on release :) This should be stickied ;) Voice of Jester AI Death From Above =DFA= Squadron Discord - https://discord.gg/deathfromabove http://www.twitch.tv/graywo1f https://www.youtube.com/user/Lonewo1fg Link to comment Share on other sites More sharing options...
MBot Posted December 24, 2013 Share Posted December 24, 2013 Sounds very interesting. Could you elaborate a bit more what the script does, tactics and procedures that are employed? Did you find a way to get better control over engagements of specific targets? That has been the number one reason why I didn't touch radar SAMs yet. Link to comment Share on other sites More sharing options...
pepin1234 Posted December 24, 2013 Share Posted December 24, 2013 Thank u. Yes should be sticked :beer: [sIGPIC][/sIGPIC] Link to comment Share on other sites More sharing options...
Supersheep Posted December 24, 2013 Share Posted December 24, 2013 There's documentation in the lua up to line 212. I don't get scripting, but I now have a general idea of what the SAMs do (Hint: made of nastyness and hate...). Great Grimes! The PVC Pipe Joystick Stand How to thread Link to comment Share on other sites More sharing options...
Grimes Posted December 24, 2013 Author Share Posted December 24, 2013 Sounds very interesting. Could you elaborate a bit more what the script does, tactics and procedures that are employed? Did you find a way to get better control over engagements of specific targets? That has been the number one reason why I didn't touch radar SAMs yet. The script ultimately manipulates the ROE and Alarm state of each sam group to get 3 different states: Off, search, and engage. When the script decides a sam can engage it changes the ROE and Alarm state as needed and then it is up to the normal sam AI to actually take the shot. Someday I hope the scripting engine gets control over more complex engagement rules, but for now I'm fine working around those limitations. It all works by creating a sam network table for sams to be linked to and share data. There are currently 4 different settings for the AI, 1-4, that govern the types of actions that a sam may take, how soon a sam might try to lock a target, and randomization in terms of which sams search and which stay dark waiting. Sams check through the detected targets from their networks and make the decision whether or not to engage or perform a random action. Right now the tactics are pretty simple. There are a few actions aside from outright engaging that can take place and the level chosen has an impact on the initial choice for what each sam should do. Actions include hold (wait until target gets within X distance), blink (periodically toggle radar on/off, can cause ARM to miss), engageWithChild (tells a nearby sam to engage at the same time), and displace (sam moves to some other location if it is mobile). The initial choice to search or stay dark is dependent on the presence of EWR or larger sams, and how far away those sams are from one another. If you have 2 sets of sams on the same network that are to far away to share useful data, then the largest sam or EWR from each grouping will generally stay on to provide network data. I want to add more AI tactics available to the network for "level 5" AI logic, but I've struggles with how exactly to go about doing so. Its open source, so if you want to have a go, feel free to. :) The right man in the wrong place makes all the difference in the world. Current Projects: Grayflag Server, Scripting Wiki Useful Links: Mission Scripting Tools MIST-(GitHub) MIST-(Thread) SLMOD, Wiki wishlist, Mission Editing Wiki!, Mission Building Forum Link to comment Share on other sites More sharing options...
mwd2 Posted December 24, 2013 Share Posted December 24, 2013 The script ultimately manipulates the ROE and Alarm state of each sam group to get 3 different states: Off, search, and engage. When the script decides a sam can engage it changes the ROE and Alarm state as needed and then it is up to the normal sam AI to actually take the shot. Someday I hope the scripting engine gets control over more complex engagement rules, but for now I'm fine working around those limitations. [..] is it correct, that i still need to setup the skill level of each SAM? Playing: F-16C Intel i7-13700KF, 64GB DDR5 @5600MHz, RTX 4080 ZOTAC Trinity, WIN 11 64Bit Prof. Squadron "Serious Uglies" / Discord-Server: https://discord.gg/2WccwBh Ghost0815 Link to comment Share on other sites More sharing options...
RagnarDa Posted December 24, 2013 Share Posted December 24, 2013 (edited) Integrated Air Defense Script Sorry for a shameless plug but I think this would work excellently with my GCI-script. It has been collecting dust for quite a while now and should be updated with the new functionalities in the scripting engine and mist, but last time I checked it performed pretty well. If you don't know what it is it is basically the same thing as this script only it will launch fighters instead of missiles against radar detected enemies. http://forums.eagle.ru/showpost.php?p=1845129 Oh also, glad to see you finally released this! :) Will have a look once I get home next year. Edited December 24, 2013 by RagnarDa DCS AJS37 HACKERMAN There will always be bugs. If everything is a priority nothing is. Link to comment Share on other sites More sharing options...
Bushmanni Posted December 24, 2013 Share Posted December 24, 2013 I'm working on a script to make ground units to go into hiding and as such I'm wondering if it would be possible to have access to the air picture generated by an IADS network to trigger the hiding. Necessary information would be location, speed, bearing, timestamp and some kind of information about the nature of the contact. Actually the air picture would make it easier to build other scripts based on IADS like GCI and such. DCS Finland: Suomalainen DCS yhteisö -- Finnish DCS community -------------------------------------------------- SF Squadron Link to comment Share on other sites More sharing options...
Crescendo Posted December 25, 2013 Share Posted December 25, 2013 This is a much-needed area of development in DCS. The current SAM 'logic' (a generous description) is embarrassingly predictable. Unfortunately, I suspect a lot of people will not see this thread, nor will they appreciate what it is and what it can do to improve this series. Please don't be disheartened. We should all applaud your initiative. Seriously, seriously, good work. . [sIGPIC][/sIGPIC] Link to comment Share on other sites More sharing options...
pappavis Posted December 25, 2013 Share Posted December 25, 2013 (edited) SAM radar as EWR The IADS script hints at the possibility to use SAM radars as EWR. I just discored MIST 3.2 and exited about the possibilities!! Relates to DCS World 1.2.6 MIST version 3.2 My idea; * A (shortrange) radar-enabled sam system provide EWR duty. Initial state is radars are off. EWR idea 1 -- announceToAll; 1. SAM Radar randomly blinks on/off (for approx 2 seconds). 2. SAM Radar broadcasts detections to allied flights. EWR idea 2 -- announceOnrequest; 1. Player whishes tor receive air picture by F10 menu. 2. Player selects from F10 menu option ´Get picture´, then selects a SAM at which location he wants the air threat picture from. 3. The selected SAM Radar blinks on/off (for approx 2 seconds). 4. The sam sequentually returns list of detected enemy air units to the Player. EWR idea 3 -- searchNetworkForAirthreats; * same as idea 2, but requests all SAMs ( or a group) to search for airthreats. Questions; 1. Does the IADS sciprt provide a sort-of API for enabling/disabling radars? 2. Can MIST return a list of detected units to a player? 3. is it possible store the detected units to a file, and retrieve for later usage? Edited December 25, 2013 by pappavis met vriendelijke groet, Михель "умный, спортсмен, комсомолетс" [sIGPIC][/sIGPIC] [TABLE]SPECS: i9-9900K 32gigs RAM, Geforce 2070RTX, Creative XFi Fata1ity, TIR5, Valve Index & HP Reverb, HOTAS Warthog, Logitech G933 Headset, 10Tb storage.[/TABLE] Link to comment Share on other sites More sharing options...
Grimes Posted December 27, 2013 Author Share Posted December 27, 2013 I'll be updating the documentation on the wiki so that all functions have a page. However I am slightly distracted by a shiny new video card I got and the need to try it in all of the games. :) is it correct, that i still need to setup the skill level of each SAM? The AI skill setting will impact how quickly the sam will be able to acquire and lock a target once the sam gets turned on by the IADScript. Aside from that the skill level has no impact on script. I'm working on a script to make ground units to go into hiding and as such I'm wondering if it would be possible to have access to the air picture generated by an IADS network to trigger the hiding. Necessary information would be location, speed, bearing, timestamp and some kind of information about the nature of the contact. Actually the air picture would make it easier to build other scripts based on IADS like GCI and such. Also RE: RagnarDA, There is a local table called "iads_network" within the script file that will contain all of the networks and assorted data related to the network. Currently it has 3 values. Groups (name of all sams in the network), link (string name of the network, is the link that all sams must have to be in the network), and tracks (indexed by name, with a number value of the timestamp when the track was last detected). You can make iads_network a global variable to have access to the information or create a function within the same locality of the table to grab information from it. Currently the rest of the script cheats a little by using Unit.getPosition() when it checks if a sam is in range of the target. The plan is to incorporate the iads_network table and add more types of data to it to base most of the decisions off of that table. The IADS script hints at the possibility to use SAM radars as EWR. I just discored MIST 3.2 and exited about the possibilities!! Questions; 1. Does the IADS sciprt provide a sort-of API for enabling/disabling radars? 2. Can MIST return a list of detected units to a player? 3. is it possible store the detected units to a file, and retrieve for later usage? 1. It doesn't add anything new that you couldn't do before with the scripting engine. There are three global functions that are part of the script that will change both the Alarm State and ROE to result in a radar off, radar on but won't lock, and radar on will lock. 2. Mist is mainly used for the mist.DBs. For instance adding a group by prefix searches groups in game via mist and the targets are populated based on mist.DBs.aliveUnits. Aside from that I use mist messages for debugging and a few other functions, that could easily have been copied into the IADScript. 3. Thats sort of what it does already. It doesn't write text file or anything to your hard-drive, it just keeps it in memory and is referenced throughout the script. The right man in the wrong place makes all the difference in the world. Current Projects: Grayflag Server, Scripting Wiki Useful Links: Mission Scripting Tools MIST-(GitHub) MIST-(Thread) SLMOD, Wiki wishlist, Mission Editing Wiki!, Mission Building Forum Link to comment Share on other sites More sharing options...
RagnarDa Posted January 7, 2014 Share Posted January 7, 2014 I finally had a chance to try the demo mission and was pretty swiftly shot down. Great job! DCS AJS37 HACKERMAN There will always be bugs. If everything is a priority nothing is. Link to comment Share on other sites More sharing options...
Exorcet Posted January 10, 2014 Share Posted January 10, 2014 Can't add rep. This is something I certainly need to try out in future missions. Thanks for putting in the time. Does the script work with AWACS as well? 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 Link to comment Share on other sites More sharing options...
JaBoG32_Herby Posted January 26, 2014 Share Posted January 26, 2014 Hi Grimes, may I add one remark and one question. The command iads.addByPrefix() as refered to in your documentation should correctly be called iads.addAllByPrefix(). Is it possible to remove Groups from an IADS-Network? I'v tried iads.destroy(), but have perhaps used the wrong syntax. If this is the command to remove part of the network, could you kindly give me an example on how to use it correctly. Thank you and best regards Herby [sIGPIC][/sIGPIC] Link to comment Share on other sites More sharing options...
eric963 Posted February 4, 2014 Share Posted February 4, 2014 While testing this script out tonight I ran into a problem and I'm not sure if its me doing something wrong. I made a mission with some red side Russian SAM's and some blue side USA SAM's. I turned on the debug option so I could see what was going on. Flew around a bit and saw the red Russian SAM's blink on and off and it matched what was in the debug window but even thou the debug window was showing that some of the blue Hawk and Patriot sites should have been shut down the were still emitting, I continued to fly around for another 30 minutes and even did some fast forwarding but the blue SAM's never stopped emitting even thou the debug window was saying some of them should have. If anyone can test this and let me know I would appreciate it. Thanks Eric Link to comment Share on other sites More sharing options...
Grimes Posted February 4, 2014 Author Share Posted February 4, 2014 Does the script work with AWACS as well? Not currently. It is possible but there aren't really any code exceptions to deal with getting radar data from ships or awacs. The command iads.addByPrefix() as refered to in your documentation should correctly be called iads.addAllByPrefix(). Is it possible to remove Groups from an IADS-Network? I'v tried iads.destroy(), but have perhaps used the wrong syntax. If this is the command to remove part of the network, could you kindly give me an example on how to use it correctly. Corrected the wiki page thanks. iads.getByName('groupname'):destroy() should remove it from the network. While testing this script out tonight I ran into a problem and I'm not sure if its me doing something wrong. There was a bug in the sim not long ago where AI radars ignored the orders to quit emitting. It occurred on the EWR objects I believe. Also some objects still have the radars animated and rotating even though the radar is shut down. I'll investigate to see if either of these issues are the case. The right man in the wrong place makes all the difference in the world. Current Projects: Grayflag Server, Scripting Wiki Useful Links: Mission Scripting Tools MIST-(GitHub) MIST-(Thread) SLMOD, Wiki wishlist, Mission Editing Wiki!, Mission Building Forum Link to comment Share on other sites More sharing options...
eric963 Posted February 6, 2014 Share Posted February 6, 2014 Had a chance to mess around a little bit more and it seems that Alarm State Red/Green is not working on the US radars. Link to comment Share on other sites More sharing options...
Recommended Posts