Kolyma Posted December 14, 2014 Posted December 14, 2014 I'm just starting scripting with mission building. I can't seem to find a definitive answer for this so I'll post a question. Is it possible to set the parking spot dynamic aircraft spawn into when using coalition.addGroup ? I see some of the sticky'd scripts here use the ["parking"] = setting but when I try to use it in my scripts, the planes seem to always spawn in the same location on an airport. And then successive, simultaneous planes spawn in another nearby location. TIA
Ironhand Posted December 16, 2014 Posted December 16, 2014 I'm just starting scripting with mission building. I can't seem to find a definitive answer for this so I'll post a question. Is it possible to set the parking spot dynamic aircraft spawn into when using coalition.addGroup ? I see some of the sticky'd scripts here use the ["parking"] = setting but when I try to use it in my scripts, the planes seem to always spawn in the same location on an airport. And then successive, simultaneous planes spawn in another nearby location. TIA You can set the parking location right in the ME, can't you? It's just to the right of the waypoint task Takeoff from Ramp. Or am I not understanding your question? YouTube Channel: https://www.youtube.com/channel/UCU1...CR6IZ7crfdZxDg _____ Win 11 Pro x64, Asrock Z790 Steel Legend MoBo, Intel i7-13700K, MSI RKT 4070 Super 12GB, Corsair Dominator DDR5 RAM 32GB.
Kolyma Posted December 16, 2014 Author Posted December 16, 2014 You can set the parking location right in the ME, can't you? It's just to the right of the waypoint task Takeoff from Ramp. Or am I not understanding your question? Yeah, in the ME, it's real easy to set this before and of course, it works for me. What I'm asking about in the OP is if it's possible to set this value when I use a scheduled script (using mist) to spawn a new group like: ["points"] = { [1] = { ["alt"] = _alt, ["type"] = _waypointtype, ["action"] = _waypointaction, ["parking"] = _spawnairplaneparking, ["alt_type"] = "RADIO", ["formation_template"] = "", ["ETA"] = 0, ["airdromeId"] = _spawnairdromeId, ["y"] = _spawnairplanepos.z, ["x"] = _spawnairplanepos.x, ["speed"] = _speed, ["ETA_locked"] = true, ["task"] = { ["id"] = "ComboTask", ["params"] = { ["tasks"] = { }, }, }, ["speed_locked"] = true, }, When ["type"] = "TakeOffParking", ["action"] = "From Parking Area", ["parking"] = 30 It always spawns the first plane on the same spot and then if more than one spawns, they spawn nearby but never in the parking spot I assign. Help?
chromium Posted December 17, 2014 Posted December 17, 2014 I'm assuming you are creating a script that once loaded, will create a single Group multiple times. So, when you load it too fast you have Aircraft spawning over another and... boom. Then, you may want to use a variable instead of a number. at the start of your script add: pkSpot = 10 (a casual number that will be the first parking spot you want to use... it could be 1) local shipNum = 4 (should be the number of airframe per flight. Could be changed for your needings, or made dynamic to retrieve the correct number after having spawned each flight... but this is a basic example. then, in each unitdata of the Group table you use for spawning, use this: 1st unit: ["parking"] = pkSpot 2nd unit: ["parking"] = pkSpot + 1 ... (and so on. remember that "shipNum" should be the max number of plane you want per flight) at the end of the spawning script, after the coalition.addGroup function, add: pkSpot = pkSpot + shipNum PS: I didn't make pkSpot a local variable to allow you to launch the script multiple times from multiple "doscript" triggered actions. It's a bad solution if you plan to launch it different times.... but it's simple to understand. If you attach here the complete script I may provide a commented modification, if you'd like :) 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.
Kolyma Posted December 17, 2014 Author Posted December 17, 2014 I'm assuming you are creating a script that once loaded, will create a single Group multiple times. So, when you load it too fast you have Aircraft spawning over another and... boom. There was similar behavior. After each successive, randomly time-delayed, spawning of a new group, they would spawn into a slightly different, but predictable parking spot. So if one group had spawned in the starting parking spot (not the one I thought I'd chosen) and not launched yet, then the next would spawn in the spot next to it, but again, not the one I'd chosen. If you attach here the complete script I may provide a commented modification, if you'd like :) Here's the full script. Now this is just my first real attempt to make a lua/dcs script and I used a lot of the existing code from GCICAP20141017.lua and MIST3_2_RandAirtraffic_r6.lua The full text of those scripts was pretty hard to understand at all at once, so I just pulled out the parts I needed to start. All I wanted for now was a script that would randomly spawn a different aircraft at different times for each coalition from a random airbase. And then have that aircraft fly to and land at another random friendly airbase. Most of that works, but right now, the planes just fly to the destination, not land, and turn around back to the starting airbase to land. :( I tried to optimize and "collapse" some of the code I pulled from others into more reusable functions, arrays of parameters, and such. I'm still trying to get a grip on the proper use of Lua local and global variables... And from what I could tell, in those scripts of others I used, they were all using "zones over airbases" to define airbases. But I found that I could just pull the airbase x/y info from _spawnairbaseloc = Object.getPoint({id_=spawnIndex.id_}) Where _spawnairbaseloc is originally from a construct like the AF in: function getAFBases (coalitionIndex) local AFids = {} local AF = {} AFids = coalition.getAirbases(coalitionIndex) for i = 1, #AFids do AF[i] = { name = AFids[i]:getName(), id_ = AFids[i].id_, id = AFids[i]:getID() } end return AF end And for now, I omitted the random x/y offsets in those starting scripts from others. Attached is the full script. Thanks for the help! This is all very exciting. We've been playing DCS here a while with just the ME part. Using the scripts and witchcraft communicator is a lot of fun. :)Random_Flight_Plan_Traffic.lua 1
xaoslaad Posted December 17, 2014 Posted December 17, 2014 Can additional client slots be opened up like this? I have written up a mission or two for small groups of people (3-4), where their is an A-A component, SEAD, and then finally ground attack. It's more enjoyable if people fly a part of the mission together, so if I could adapt this to where say, we go up in F-15C's to start, once the mission objective for them is complete Su-25T's spawn for SEAD, once their objective is complete, A-10C's, Ka-50's, whatever spawn kind of thing.
xaoslaad Posted December 17, 2014 Posted December 17, 2014 Also, is there a way to set sane altitudes for flight? It seems choppers are OK, never straying ridiculously high, but huge bombers and cargo planes are practically scraping the ground. It looks odd...
Kolyma Posted December 21, 2014 Author Posted December 21, 2014 149 views and zzzzzzzzzzzzzzzzzzzz...
chromium Posted December 21, 2014 Posted December 21, 2014 In the "zzz" something is moving, usually.... or else, it's a feature that anyone ever has looked for. The problem is, that I wanted to use the same logic I use for your script, at least in a way that should make your AI spawning only in the very first 8 parking slot. But sadly I found the the logic I use is still bugged, it seems to "reset" the used parking spot after some seconds... and I'm working on this to solve the problem. In the meantime, I can't be of help cause even my solution isn't working as expected. 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.
Kolyma Posted December 21, 2014 Author Posted December 21, 2014 (edited) Originally I was thinking I wasn't doing anything wrong in the script and it's just not possible to designate parking spots dynamically (or even statically) from within a script, although it is possible to do so from the ME. I knew I couldn't be the first person to try this, but didn't find any thread here saying it couldn't be done. Just found one talking about how you can only spawn an AI on the runway in single player mode; in MP it forces all AI to spawn off-runway due to unknown client interactions... Otherwise, I'm still curious as to why people are using "target zones over runways" to spawn AI units on the airbase instead of just pulling x/y info from the runway object itself? Anyone? Edited December 21, 2014 by Kolyma
chromium Posted December 21, 2014 Posted December 21, 2014 IMHO cause sometimes you just need to fastly modify the starting airbase whitout having to modify the script. I rely on airbases for starting coord, but also rely on trigger zone to the objective area (here: http://forums.eagle.ru/showthread.php?t=135832 ) 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.
Kolyma Posted December 21, 2014 Author Posted December 21, 2014 Ok to that. Again being new, I can see the benefit of the target zones for making the ME part manage the script instead of directly editing the script. For my simple, random traffic script, I just elected to pull the list of Red/Blue airbases that the user designated in the ME... BTW, have any quick thoughts on why my spawned AI never land at their one-and-only waypoint after taking off? They fly to the destination airbase, report RTB, and fly back to the start to land.
chromium Posted December 21, 2014 Posted December 21, 2014 (edited) Ok to that. Again being new, I can see the benefit of the target zones for making the ME part manage the script instead of directly editing the script. For my simple, random traffic script, I just elected to pull the list of Red/Blue airbases that the user designated in the ME... BTW, have any quick thoughts on why my spawned AI never land at their one-and-only waypoint after taking off? They fly to the destination airbase, report RTB, and fly back to the start to land. I had the same issue cause if you spawn aircraft with an embedded route in the group code (waypoint >1), those waypoints aren't readed/used. You need to spawn the aircraft first, with only the very first waypoint, and then add the route with another function like the mist.goroute. ie. -- create the group _G.coalition.addGroup(CountryData, Group.Category.AIRPLANE, GroupData) -- add the planning mist.scheduleFunction(mist.goRoute,{FlightName, FLT_waypoints},timer.getTime() + 1) where FLT_waypoints is a table of waypoints i the order of flight. If you already use this structure (can't check it now), then I may believe that something is going wrong with the embedding route function. PS: I'm new also in spawning units and things, so don't take my words as law ;) Edited December 21, 2014 by chromium 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.
Kolyma Posted December 23, 2014 Author Posted December 23, 2014 That seems reasonable and I can see the additional scheduled processes for routes and radio messages in the other script I'm using as a reference.... MIST3_2_RandAirtraffic_r6.lua But I seem to have found something else that doesn't make any sense: There's a line in MIST3_2_RandAirtraffic_r6.lua - waypoints[#waypoints+1] = mist.fixedWing.buildWP(landingpoint, "LAND", 200, 8000, "RADIO") But in the MIST I'm using... MissionScriptingTools-3.5.37 , there's no "LAND" waypoint type in the mist.fixedWing.buildWP function: mist.fixedWing.buildWP = function(point, WPtype, speed, alt, altType) local wp = {} wp.x = point.x if point.z then wp.y = point.z else wp.y = point.y end if alt and type(alt) == 'number' then wp.alt = alt else wp.alt = 2000 end if altType then altType = string.lower(altType) if altType == 'radio' or altType == 'agl' then wp.alt_type = 'RADIO' elseif altType == 'baro' or altType == 'asl' then wp.alt_type = 'BARO' end else wp.alt_type = 'RADIO' end if point.speed then speed = point.speed end if point.type then WPtype = point.type end if not speed then wp.speed = mist.utils.kmphToMps(500) else wp.speed = speed end if not WPtype then wp.action = 'Turning Point' else WPtype = string.lower(WPtype) if WPtype == 'flyover' or WPtype == 'fly over' or WPtype == 'fly_over' then wp.action = 'Fly Over Point' elseif WPtype == 'turningpoint' or WPtype == 'turning point' or WPtype == 'turning_point' then wp.action = 'Turning Point' else wp.action = 'Turning Point' end end wp.type = 'Turning Point' return wp end What???
chromium Posted December 23, 2014 Posted December 23, 2014 (I will read your answer later) I just woke up and I want you to read this: http://forums.eagle.ru/showthread.php?t=135682 this is why atm you can't choose the parking spot in any way. 1 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.
chromium Posted December 23, 2014 Posted December 23, 2014 this is my land waypoint (it works here): local LAND = { ["alt"] = 0, -- set a quarter of the climb altitute ["type"] = "Land", ["action"] = "Landing", ["alt_type"] = "RADIO", ["formation_template"] = "Trail", ["properties"] = { ["vnav"] = 1, ["scale"] = 0, ["angle"] = 0, ["vangle"] = 0, ["steer"] = 2, }, -- end of ["properties"] ["ETA"] = FlightETA+wp4time+600,-- REVIEW ["airdromeId"] = FlightAFBid, ["y"] = AFBy, -- AFBy, ["x"] = AFBx, --AFBx, ["speed"] = FlightSpeedMPS, -- REVIEW ["ETA_locked"] = false, ["task"] = { ["id"] = "ComboTask", ["params"] = { ["tasks"] = { }, -- end of ["tasks"] }, -- end of ["params"] }, -- end of ["task"] ["speed_locked"] = true, } 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.
Kolyma Posted December 23, 2014 Author Posted December 23, 2014 Minus the "properties" and "formation" part, that's pretty much what I have. And I saw that link originally, but there wasn't enough info to fully explore my dynamic parking spot query. Interestingly, I think I'm seeing dynamic parking spot working now. Maybe it's a recent patch? Or maybe not; I've been working this landing waypoint thing for a few days... Regardling wour script snippet, what are you using to make the waypoints and insert the route into the dynamically created group? Because like I said, the "LAND" waypoint type is NOT in MIST. Do you run witchcraft? If so, would you check your group's route after you think it's been set? return mist.getGroupRoute('groupname') And if your paste your route building snippet, you can also use this to confirm the created route is not what you would expect (there's no "LAND" "LANDING" waypoint in the route) return mist.fixedWing.buildWP(_landingpoint, "LAND", 200, 8000, "RADIO")
chromium Posted December 23, 2014 Posted December 23, 2014 No, I don't. This is what I do: 1: create a table of waypoints: -- CREATE ROUTING local FLT_waypoints = {} if mission == "CAP" or mission == "DCA" or mission == "SWEEP" or mission == "AMBUSHCAP" then FLT_waypoints[#FLT_waypoints+1] = TO --mist.fixedWing.buildWP(WP1, 'turningpoint', 500, FlightAltitude/4) FLT_waypoints[#FLT_waypoints+1] = CLIMB --mist.fixedWing.buildWP(WP2, 'turningpoint', 500, FlightAltitude*0.75) FLT_waypoints[#FLT_waypoints+1] = CAP1 --mist.fixedWing.buildWP(WP3, 'turningpoint', 500, FlightAltitude) FLT_waypoints[#FLT_waypoints+1] = CAP2 --mist.fixedWing.buildWP(WP4, 'turningpoint', 500, FlightAltitude) FLT_waypoints[#FLT_waypoints+1] = PRELAND --mist.fixedWing.buildWP(LAND, 'turningpoint', 500, 0) FLT_waypoints[#FLT_waypoints+1] = LAND --mist.fixedWing.buildWP(LAND, 'turningpoint', 500, 0) debugExMixtasking = debugExMixtasking .. timer.getTime() .. ", Missione AA creata\n\n\n" elseif mission == "STRIKE" then FLT_waypoints[#FLT_waypoints+1] = TO --mist.fixedWing.buildWP(WP1, 'turningpoint', 500, FlightAltitude/4) FLT_waypoints[#FLT_waypoints+1] = CLIMB --mist.fixedWing.buildWP(WP2, 'turningpoint', 500, FlightAltitude*0.75) FLT_waypoints[#FLT_waypoints+1] = BOMB --mist.fixedWing.buildWP(WP3, 'turningpoint', 500, FlightAltitude) FLT_waypoints[#FLT_waypoints+1] = PRELAND --mist.fixedWing.buildWP(LAND, 'turningpoint', 500, 0) FLT_waypoints[#FLT_waypoints+1] = LAND --mist.fixedWing.buildWP(LAND, 'turningpoint', 500, 0) debugExMixtasking = debugExMixtasking .. timer.getTime() .. ", Missione AG creata\n\n\n" end 2: load it into the spawned group (that must already be spawned) mist.scheduleFunction(mist.goRoute,{FlightName, FLT_waypoints},timer.getTime() + 1) (forgive the scheduling thing, it's cause I run that code inside the spawning function) 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.
Kolyma Posted December 23, 2014 Author Posted December 23, 2014 That looks very organized. What version of MIST are you using with that code? If I read it correctly, the line FLT_waypoints[#FLT_waypoints+1] = LAND Is adding the LAND variable which was built from the function (somewhere else in your code because here it appears as a comment with code) mist.fixedWing.buildWP(LAND, 'turningpoint', 500, 0) Based on the LAND point structure you posted earlier, with the sections ["type"] = "Land", ["action"] = "Landing", So somewhere else, you're doing something like this? LAND = mist.fixedWing.buildWP(LAND, 'turningpoint', 500, 0) If that's true then I believe most of what you've pre-defined in LAND gets dropped from the MIST function and you just end up with a "Turning Point" of altitude 0. Maybe that's why the plane is landing, because of the 0 altitude. Thanks for the help. Let me know what version of MIST you're using and I kindly ask you to look at the MIST source and review what the mist.fixedWing.buildWP actually does. I'm going to test some 0 altitude waypoints over an airport and see if that causes a landing.
chromium Posted December 24, 2014 Posted December 24, 2014 (edited) no, I don't. the code posted above is sufficient :). the LAND "variable" is nothing else that the entire waypoint data, that you can see in the previous post :) To be clear, I don't use MIST to build the WP, I use MIST to embed the route. This way, LANS shouldn't be seen as a variable, or a value, but as an embedded table (just like units table into the Group one) So, to resume: 1. Build "n" waypoints (TO, LAND, CAP, CAS, as you prefer), all of them defined as a table named like you prefer. They don't need to be ordered. (post 16) 2. Build the route table (FLT_Waypoints in my case), combining the waypoints as you like. Beware that this needs to be in Flying order (post 18) 3. Embed the route table into the Group (FlightName, in my case) using mist.goRoute function. Anyway, MIST 3.5 at the moment. Edited December 24, 2014 by chromium added more info 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.
chromium Posted December 24, 2014 Posted December 24, 2014 Interestingly, I think I'm seeing dynamic parking spot working now. Maybe it's a recent patch? Or maybe not; I've been working this landing waypoint thing for a few days... Can you please verify? in my case, they don't work as expected at the moment. Parking number is effectively a number ( 1 ) or a text ( "1" ) in your script? I tried both before whitout luck. 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.
Kolyma Posted December 27, 2014 Author Posted December 27, 2014 Its not working no matter what I try. Seems setting the AI parking spot from the ME is totally possible, but not possible from within a script with a dynamic add. In testing a few AI placements in the ME and then opening the *.miz file, I see something odd about the parking spot numbering. The number you choose in the ME is not the number stored in the *.miz file ["parking"] parameter. For example, the top 4 and lower 4 parking spots for these 3 airbases are: Kobuleti: Kutaisi: Vaziani: ME - MIZ ME - MIZ ME - MIZ 1 48 1 1 1 11 2 47 2 23 2 13 3 58 3 25 3 15 4 63 4 27 4 17 ... ... ... 39 44 55 16 89 133 40 37 56 20 90 130 41 26 57 22 91 132 42 25 58 18 92 157 So there's an organization with the parking spot numbering and it's not globally unique to the map, since in just this small sample, I've got 2 #25's on different airbases. I gather from other sources these numbers are part of the *.rn *.rn3 files for the airbase description...But don't seem to find documentation for those or anyway to decode the *.rn *.rn3 files themselves. But it seems pointless because the sim engine appears to ignore the ["parking"] value when dynamically spawning AI units. Bummer dude.
chromium Posted December 27, 2014 Posted December 27, 2014 It's ignored cause of this that I posted before. Confirmed. http://forums.eagle.ru/showthread.php?t=135682 I suggest you to post there as a little bump :). Even if it seems to be interesting only for the three of us :P 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.
Winfield_Gold Posted December 27, 2014 Posted December 27, 2014 PM Grimes, if it is possible via a script.....he will find the answer 1
chromium Posted December 27, 2014 Posted December 27, 2014 I believe that Grimes is already aware of this thread, and that if a solution exist he may already wrote here :). But I honestly think, as even MBot didn't find a solution, that our way is correct but it's effectively an SSE bug that stop us. As I wrote in another thread, I don't believe that this is a 'major' issue, not urgent clearly. But a side effect of this bug is annoying: if you use Kutaisi as airbase, for example, you may find problems for the second group spawning on the ramp cause of the wingman will hold position in the taxiway until the leader is in front of him... which never happen, cause the wingman will go to the taxiway before the lead. And the flight will stuck on taxi. 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.
Recommended Posts