Grimes Posted May 26, 2017 Posted May 26, 2017 (edited) The 2.1 patch with a few new additions to the mission editor and not to mention the WW2 Asset Pack. New Stuff Added: All UI for loading missions should now display the map a mission is on. As before terrains not installed are automatically filtered out from being displayed, except when saving the file. Added: Mark Panel Triggers and Scripting Functions. Added: Shelling Zone trigger action. (Not functional at launch, UI option is there) Added: Scenery Destruction Zone trigger action. Based on inputted destruction percentage an appropriate amount of scenery objects will "die" without explosions. (Currently only works on Normandy) Added: WW2 Large formation task Added: WW2 Carpet bombing task Added: SpHG Dana Artillery unit Added: 4 new countries. Third Reich, USSR, Yugoslavia, and Italian Social Republic edit 1- I DID forget something! Added: Option to disable engagement of air weapons to ground vehicles. (Currently not available for ships) Added: Task go to waypoint. (Didn't notice this till just now, so it is untested. Guess you might be able to create a patrol route in editor now without scripting engine) end of edit 1 Assorted information The two new WW2 tasks are available under the ground attack task for aircraft. Any aircraft with that task can do it. The large formation task appears to have a fixed speed which is more geared toward slower WW2 aircraft. Carpet bombing is similar to the normal bombing task, however it has an added option of setting the total area to be bombed. You can assign multiple flights to be in a WW2 big formation, and then for the lead aircraft setup a WW2 carpet bombing task, all following flights will bomb the target together. Its pretty cool :) I am in the process of updating the hoggit wiki for new scripting stuff. Basic new documentation should be added by end of the day. The shelling trigger zone and scenery destruction are currently only available in the editor triggers. Have asked for accessibility to scripting engine. I've updated the Object DB on my github. It has the WW2 Asset pack objects in there plus a few new objects since I last updated it. Unit.getPlayerName() should be fixed. By the time I tested it was already fixed, so yay for happy accidents. WW2 Asset Pack functionality If you add a single object from the Asset Pack it will add a requirement for the pack to open the mission file. When you open an asset pack mission without the pack, it gives you a warning that you don't have it and you can't open the mission. coalition.addGroup() can add asset pack units into a mission if none were already placed. In MP this WILL CRASH any client connected that doesn't have the pack. Have not tested it in SP, but I imagine it may do the same. Nothing is obfuscated in the actual .miz file so if push comes to shove you may be able to hack around the asset pack. Removing the requirement code and changing any asset pack object into any other DCS object. Don't think I forgot anything. Any relevant questions just ask. Feature requests should probably go in the wishlist section, but as long as its relevant to the new stuff (or doesn't continue for a long time) its probably not a big deal if you post it here. Edited May 26, 2017 by Grimes Edit 1 1 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
=DECOY= Posted May 26, 2017 Posted May 26, 2017 Thank you for this. I shall be putting these to work on our server:) Water cooled i9-9900K | Maximus Code XI MB | RTX3090 | 64GB | HP Reverb G2
Justificus Posted May 27, 2017 Posted May 27, 2017 Okay, I have a stupid question. How do we even load/access the map from within the Nevada ME? I see no option to choose a map, only Nevada is there unless my eyes are a lot worse than I thought... I'm also not seeing any of the new countries listed in the ME yet either. Thanks for any help! Justificus System Specs:i7 4970K @ 4.8, GTX 1080 SC, 32GB G.Skill DDR 2133,Thermaltake Level 10 Full Tower Case, Noctua NH-D15 6 Cooler, Win 10 Pro, Warthog, CH Pro Pedals, CH Throttle Quadrant, Oculus, 1 32" & 2 19" Monitors Modules Owned: A-10C I+II, Ka-50, FC3, F-86, Mig-15, Mig21, UH-1H, Mi-8, CA, P-51D, BF-109K-4, FW-190 D-9, Hawk, NTTR, M-2000C, SA342, F-5E, Spit Mk. IX, AJS-37, Normandy, WWII A.P., AV-8B, F/A-18C, L-39, Persian Gulf, Mig-19P, I-16, Super Carrier, F-16, Channel, Syria
Grimes Posted May 27, 2017 Author Posted May 27, 2017 When you make a new mission it should be an option on the left. If it isn't displayed then its not likely installed. As for countries they are listed alphabetically. Additionally at the top is a preset country list that will have the countries like the Third Reich and Italian Social Republic on red. 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
Rudel_chw Posted May 27, 2017 Posted May 27, 2017 You have Chile on the country list? is that a Mod or 2.1 does include my country? :D ... I'm still downloading the update, so I cant check myself. For work: iMac mid-2010 of 27" - Core i7 870 - 6 GB DDR3 1333 MHz - ATI HD5670 - SSD 256 GB - HDD 2 TB - macOS High Sierra For Gaming: 34" Monitor - Ryzen 3600 - 32 GB DDR4 2400 - nVidia RTX2080 - SSD 1.25 TB - HDD 10 TB - Win10 Pro - TM HOTAS Cougar Mobile: iPad Pro 12.9" of 256 GB
ESAc_matador Posted May 27, 2017 Posted May 27, 2017 Mark Panel Triggers and Scripting Functions. ? What is this?
Grimes Posted May 27, 2017 Author Posted May 27, 2017 You have Chile on the country list? is that a Mod or 2.1 does include my country? :D ... I'm still downloading the update, so I cant check myself. Chile has been in there for at least a little while already. I'm not sure precisely when, but it was at least 1.5.4/2.0.4 or so. Here is a list of all: http://wiki.hoggit.us/view/DCS_enum_country Most of those countries newer countries won't have units available, only the DCS modules. Also I think they were added mostly to fill out the roster and future proof a bit with the added bonus of making it so people can fly for aircraft of their own country. Mark Panel Triggers and Scripting Functions. ? What is this? Ok, so a few patches ago they added a feature in MP where you could create a little box with text on it on the F10 map view. Only players could do it. Now there are triggers and scripting functions. 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
Veteran66 Posted May 27, 2017 Posted May 27, 2017 there are "grass Airfield" Objects but they are not work for me. Someone try the new Airfields? German WW2 Radio calls Mod: https://www.digitalcombatsimulator.com/en/files/2161798/
Grimes Posted May 27, 2017 Author Posted May 27, 2017 Those have been in the editor for a while, its just the UI with no in game functionality yet. Though I believe Normandy and WW2 aircraft in particular was the driving force behind that feature getting added. No idea when they will become functional. 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
Veteran66 Posted May 27, 2017 Posted May 27, 2017 i miss some bombing options like low level bombing, my Jabo`s always fly up to 2500m :( German WW2 Radio calls Mod: https://www.digitalcombatsimulator.com/en/files/2161798/
FlightControl Posted May 27, 2017 Posted May 27, 2017 (edited) Thanks Grimes for the explanations. A generic note though ... And not meant to you personally or ED, just an observation ... It is great reading this, and makes me also worry a bit ... Added: WW2 Large formation task Added: WW2 Carpet bombing task Knowing that if you follow this link: https://forums.eagle.ru/showthread.php?t=138043 with the extract: 2.7. Build large formations of AI. AI_FORMATION makes AI GROUPs fly in formation of various compositions. The AI_FORMATION class models formations in a different manner than the internal DCS formation logic!!! The purpose of the class is to: * Make formation building a process that can be managed while in flight, rather than a task. * Human players can guide formations, consisting of larget planes. * Build large formations (like a large bomber field). * Form formations that DCS does not support off the shelve. AI_FORMATION Demo Missions: FOR - AI Group Formation AI_FORMATION demonstration missions: * FOR-100 - Bomber Left Line Formation * FOR-101 - Bomber Right Line Formation * FOR-102 - Bomber Left Wing Formation * FOR-103 - Bomber Right Wing Formation * FOR-104 - Bomber Center Wing Formation * FOR-105 - Bomber Trail Formation * FOR-106 - Bomber Box Formation Note: The AI_FORMATION is currently a first version showing the potential, a "building block". From this class, further classes will be derived and the class will be fine-tuned. ---- Somehow we have been building in parallel the same functionality. What can I say. Some people in our moose community have told me I should hold this off this development ... But I haven't ... And the reason why I haven't is the following: 1. The AI_FORMATION will treat the formation flying not as a task, but as a process. That means that during formation flight, events can be triggered to tweak or update the formation, stop the formation, re-engage the formation etc. 2. I very well could use the new TASK components in the formation flying logic. 3. At the time people told me, there were some videos posted, but never an official announcement or anything. So all was an assumption. We did not know neither in what form this formation flying would come. So bottom line, maybe I spend time that is now in the waste basket, or maybe not ... Don't know. Time will learn. It is this code that I talk about for the formation flying ... --- @param Follow#AI_FORMATION self function AI_FORMATION:onenterFollowing( FollowGroupSet ) --R2.1 self:F( ) self:T( { self.FollowUnit.UnitName, self.FollowUnit:IsAlive() } ) if self.FollowUnit:IsAlive() then local ClientUnit = self.FollowUnit self:T( {ClientUnit.UnitName } ) local CT1, CT2, CV1, CV2 CT1 = ClientUnit:GetState( self, "CT1" ) if CT1 == nil or CT1 == 0 then ClientUnit:SetState( self, "CV1", ClientUnit:GetPointVec3() ) ClientUnit:SetState( self, "CT1", timer.getTime() ) else CT1 = ClientUnit:GetState( self, "CT1" ) CT2 = timer.getTime() CV1 = ClientUnit:GetState( self, "CV1" ) CV2 = ClientUnit:GetPointVec3() ClientUnit:SetState( self, "CT1", CT2 ) ClientUnit:SetState( self, "CV1", CV2 ) end FollowGroupSet:ForEachGroup( --- @param Wrapper.Group#GROUP FollowGroup -- @param Wrapper.Unit#UNIT ClientUnit function( FollowGroup, Formation, ClientUnit, CT1, CV1, CT2, CV2 ) FollowGroup:OptionROTPassiveDefense() FollowGroup:OptionROEReturnFire() local GroupUnit = FollowGroup:GetUnit( 1 ) local FollowFormation = FollowGroup:GetState( self, "FormationVec3" ) if FollowFormation then local FollowDistance = FollowFormation.x local GT1 = GroupUnit:GetState( self, "GT1" ) if CT1 == nil or CT1 == 0 or GT1 == nil or GT1 == 0 then GroupUnit:SetState( self, "GV1", GroupUnit:GetPointVec3() ) GroupUnit:SetState( self, "GT1", timer.getTime() ) else local CD = ( ( CV2.x - CV1.x )^2 + ( CV2.y - CV1.y )^2 + ( CV2.z - CV1.z )^2 ) ^ 0.5 local CT = CT2 - CT1 local CS = ( 3600 / CT ) * ( CD / 1000 ) / 3.6 local CDv = { x = CV2.x - CV1.x, y = CV2.y - CV1.y, z = CV2.z - CV1.z } local Ca = math.atan2( CDv.x, CDv.z ) local GT1 = GroupUnit:GetState( self, "GT1" ) local GT2 = timer.getTime() local GV1 = GroupUnit:GetState( self, "GV1" ) local GV2 = GroupUnit:GetPointVec3() GV2:AddX( math.random( -Formation.FlightRandomization / 2, Formation.FlightRandomization / 2 ) ) GV2:AddY( math.random( -Formation.FlightRandomization / 2, Formation.FlightRandomization / 2 ) ) GV2:AddZ( math.random( -Formation.FlightRandomization / 2, Formation.FlightRandomization / 2 ) ) GroupUnit:SetState( self, "GT1", GT2 ) GroupUnit:SetState( self, "GV1", GV2 ) local GD = ( ( GV2.x - GV1.x )^2 + ( GV2.y - GV1.y )^2 + ( GV2.z - GV1.z )^2 ) ^ 0.5 local GT = GT2 - GT1 -- Calculate the distance local GDv = { x = GV2.x - CV1.x, y = GV2.y - CV1.y, z = GV2.z - CV1.z } local Alpha_T = math.atan2( GDv.x, GDv.z ) - math.atan2( CDv.x, CDv.z ) local Alpha_R = ( Alpha_T < 0 ) and Alpha_T + 2 * math.pi or Alpha_T local Position = math.cos( Alpha_R ) local GD = ( ( GDv.x )^2 + ( GDv.z )^2 ) ^ 0.5 local Distance = GD * Position + - CS * 0,5 -- Calculate the group direction vector local GV = { x = GV2.x - CV2.x, y = GV2.y - CV2.y, z = GV2.z - CV2.z } -- Calculate GH2, GH2 with the same height as CV2. local GH2 = { x = GV2.x, y = CV2.y + FollowFormation.y, z = GV2.z } -- Calculate the angle of GV to the orthonormal plane local alpha = math.atan2( GV.x, GV.z ) local GVx = FollowFormation.z * math.cos( Ca ) + FollowFormation.x * math.sin( Ca ) local GVz = FollowFormation.x * math.cos( Ca ) - FollowFormation.z * math.sin( Ca ) -- Now we calculate the intersecting vector between the circle around CV2 with radius FollowDistance and GH2. -- From the GeoGebra model: CVI = (x(CV2) + FollowDistance cos(alpha), y(GH2) + FollowDistance sin(alpha), z(CV2)) local CVI = { x = CV2.x + CS * 10 * math.sin(Ca), y = GH2.y - ( Distance + FollowFormation.x ) / 5, -- + FollowFormation.y, z = CV2.z + CS * 10 * math.cos(Ca), } -- Calculate the direction vector DV of the escort group. We use CVI as the base and CV2 as the direction. local DV = { x = CV2.x - CVI.x, y = CV2.y - CVI.y, z = CV2.z - CVI.z } -- We now calculate the unary direction vector DVu, so that we can multiply DVu with the speed, which is expressed in meters / s. -- We need to calculate this vector to predict the point the escort group needs to fly to according its speed. -- The distance of the destination point should be far enough not to have the aircraft starting to swipe left to right... local DVu = { x = DV.x / FollowDistance, y = DV.y, z = DV.z / FollowDistance } -- Now we can calculate the group destination vector GDV. local GDV = { x = CVI.x, y = CVI.y, z = CVI.z } local ADDx = FollowFormation.x * math.cos(alpha) - FollowFormation.z * math.sin(alpha) local ADDz = FollowFormation.z * math.cos(alpha) + FollowFormation.x * math.sin(alpha) local GDV_Formation = { x = GDV.x - GVx, y = GDV.y, z = GDV.z - GVz } if self.SmokeDirectionVector == true then trigger.action.smoke( GDV, trigger.smokeColor.Green ) trigger.action.smoke( GDV_Formation, trigger.smokeColor.White ) end local Time = 60 local Speed = - ( Distance + FollowFormation.x ) / Time local GS = Speed + CS if Speed < 0 then Speed = 0 end -- Now route the escort to the desired point with the desired speed. FollowGroup:RouteToVec3( GDV_Formation, GS ) end end end, self, ClientUnit, CT1, CV1, CT2, CV2 ) self:__Follow( -0.5 ) end end Edited May 27, 2017 by FlightControl [TABLE][sIGPIC][/sIGPIC]| Join MOOSE community on: DISCORD :thumbup: Website of the MOOSE LUA Framework. MOOSE framework Downloads. Check out Example Missions to try out and learn. MOOSE YouTube Channel for live demonstrations and tutorials. [/TABLE]
Justificus Posted May 27, 2017 Posted May 27, 2017 When you make a new mission it should be an option on the left. If it isn't displayed then its not likely installed. As for countries they are listed alphabetically. Additionally at the top is a preset country list that will have the countries like the Third Reich and Italian Social Republic on red. Thanks, Grimes, stupid me just assumed I should be able to select the map before creating a new mission... I know, I know... I also thought the new countries would show up in Nevada in premade missions. I then was able to create a quick mission for Normandy that let me edit it in the ME and that's when I thought things were messed up as the new countries weren't in that quick mission so my Dora was stuck being blue... Now the game crashes every time I try to fly this mission that only has 5 planes and a ship in it on a cloudless day in the afternoon... but that's another issue... Thanks again for the help! Justificus System Specs:i7 4970K @ 4.8, GTX 1080 SC, 32GB G.Skill DDR 2133,Thermaltake Level 10 Full Tower Case, Noctua NH-D15 6 Cooler, Win 10 Pro, Warthog, CH Pro Pedals, CH Throttle Quadrant, Oculus, 1 32" & 2 19" Monitors Modules Owned: A-10C I+II, Ka-50, FC3, F-86, Mig-15, Mig21, UH-1H, Mi-8, CA, P-51D, BF-109K-4, FW-190 D-9, Hawk, NTTR, M-2000C, SA342, F-5E, Spit Mk. IX, AJS-37, Normandy, WWII A.P., AV-8B, F/A-18C, L-39, Persian Gulf, Mig-19P, I-16, Super Carrier, F-16, Channel, Syria
Rudel_chw Posted May 29, 2017 Posted May 29, 2017 Chile has been in there for at least a little while already. I'm not sure precisely when, but it was at least 1.5.4/2.0.4 or so. Here is a list of all: http://wiki.hoggit.us/view/DCS_enum_country Most of those countries newer countries won't have units available, only the DCS modules. Also I think they were added mostly to fill out the roster and future proof a bit with the added bonus of making it so people can fly for aircraft of their own country. Thanks for the answer .. I really wasn't aware. I've been using this Mod for getting my country in-game: https://www.digitalcombatsimulator.com/en/files/2317077/?sphrase_id=6694771 But has the disadvantage of not being compatible with multiplayer gaming. Anyway, I'm really happy with this news ... its a pity that they didnt add our neighbors (Argentina, Peru and Bolivia), it would have been nice for creating hypothetical conflict missions :) For work: iMac mid-2010 of 27" - Core i7 870 - 6 GB DDR3 1333 MHz - ATI HD5670 - SSD 256 GB - HDD 2 TB - macOS High Sierra For Gaming: 34" Monitor - Ryzen 3600 - 32 GB DDR4 2400 - nVidia RTX2080 - SSD 1.25 TB - HDD 10 TB - Win10 Pro - TM HOTAS Cougar Mobile: iPad Pro 12.9" of 256 GB
chromium Posted May 29, 2017 Posted May 29, 2017 tested the scenery destroy trigger with nevada, worked. Author of DSMC, mod to enable scenario persistency and save updated miz file Stable version & site: https://dsmcfordcs.wordpress.com/ Openbeta: https://github.com/Chromium18/DSMC The thing is, helicopters are different from planes. An airplane by it's nature wants to fly, and if not interfered with too strongly by unusual events or by a deliberately incompetent pilot, it will fly. A helicopter does not want to fly. It is maintained in the air by a variety of forces in opposition to each other, and if there is any disturbance in this delicate balance the helicopter stops flying; immediately and disastrously.
Pikey Posted June 1, 2017 Posted June 1, 2017 Hope for DAWS in carrying our destroyed scenery at mission start then, eh? :) tested the scenery destroy trigger with nevada, worked. ___________________________________________________________________________ SIMPLE SCENERY SAVING * SIMPLE GROUP SAVING * SIMPLE STATIC SAVING *
chromium Posted June 1, 2017 Posted June 1, 2017 Yes i suppose to be able to better implement scenery object persistance. After daws weather is fixed. Inviato dal mio SM-G920F utilizzando Tapatalk Author of DSMC, mod to enable scenario persistency and save updated miz file Stable version & site: https://dsmcfordcs.wordpress.com/ Openbeta: https://github.com/Chromium18/DSMC The thing is, helicopters are different from planes. An airplane by it's nature wants to fly, and if not interfered with too strongly by unusual events or by a deliberately incompetent pilot, it will fly. A helicopter does not want to fly. It is maintained in the air by a variety of forces in opposition to each other, and if there is any disturbance in this delicate balance the helicopter stops flying; immediately and disastrously.
Pikey Posted June 1, 2017 Posted June 1, 2017 Hi Grimes, Regarding: Added: Mark Panel Triggers and Scripting Functions. Can you let us know what the functions are? Bonus point, add it to the hoggit Wiki ;) please! ___________________________________________________________________________ SIMPLE SCENERY SAVING * SIMPLE GROUP SAVING * SIMPLE STATIC SAVING *
Grimes Posted June 1, 2017 Author Posted June 1, 2017 Hi Grimes, Regarding: Added: Mark Panel Triggers and Scripting Functions. Can you let us know what the functions are? Bonus point, add it to the hoggit Wiki ;) please! Pages were added last week :) trigger.action.markToAll trigger.action.markToCoalition trigger.action.markToGroup trigger.action.removeMark For what it is worth I tried arguing the point that the markId should be an optional value, but I don't think that change will go through. I'd also like to see the ability to "lock" a mark from being modified and to access marks created by players. RE scenery destruction, right now it is only a trigger that will do it. I have asked for scripting access. Can't remember if I submitted it yet, but I think there should also be a "setDead" type function that "kills" the object and changes it to a wreckage. Keep in mind feature requests are just that, a request. 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
Ignition Posted July 13, 2017 Posted July 13, 2017 Added: Task go to waypoint. (Didn't notice this till just now, so it is untested. Guess you might be able to create a patrol route in editor now without scripting engine) end of edit 1 It doesnt work, It also shows in Perform Task and Perform Command
Wizard1393 Posted April 30, 2018 Posted April 30, 2018 (edited) Scenery Remove Objects Zone Scenery Remove Objects Zone Anyone know how I call this function within the scripting engine? Edited April 30, 2018 by chrisofsweden GPU: PALIT NVIDIA RTX 3080 10GB | CPU: Intel Core i7-9700K @ 4,9GHz | RAM: 64GB DDR4 3000MHz VR: HP Reverb G2 | HOTAS: TM Warthog Throttle and Stick OS: Windows 10 22H2
Johnny_Rico Posted April 30, 2018 Posted April 30, 2018 Scenery Remove Objects Zone Anyone know how I call this function within the scripting engine? it has not been added yet sadly METAR weather for DCS World missions Guide to help out new DCS MOOSE Users -> HERE Havoc Company Dedicated server info Connect IP: 94.23.215.203 SRS enabled - freqs - Main = 243, A2A = 244, A2G = 245 Please contact me HERE if you have any server feedback or METAR issues/requests
HiJack Posted April 30, 2018 Posted April 30, 2018 Scenery Remove Objects Zone Anyone know how I call this function within the scripting engine? It is not working in multiplayer mission either.
Grimes Posted May 1, 2018 Author Posted May 1, 2018 Scenery Remove Objects Zone Anyone know how I call this function within the scripting engine? Using world.searchObjects and then using Object.destroy() on each object. 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
Recommended Posts