Jump to content

Wrecking Crew

Members
  • Posts

    2004
  • Joined

  • Last visited

Everything posted by Wrecking Crew

  1. Thank you Grimes The Back Of The Hand mission is running on Hollo Pointe, using the older version of Mist 4.1.61. I appreciate all of your work with Mist. I use it muchly!
  2. An older mission, Back Of The Hand, was updated to MIST 4.4.90 from MIST 4.1.61. With the newer Mist there is an error displayed and the mission will not start. See the screen shot of the error. I looked at the error details for the file and line number but I could not figure it out. Two mission files are attached, for each Mist version. The file with Mist 4.4.90 results in the error, while the mission file with the older Mist 4.1.61 runs OK. Why does this mission with Mist 4.4.90 give this error? Back Of The Hand 270C2s Mist 4490.miz Back Of The Hand 270C2s Mist 4161.miz
  3. Buildings need to be straight up. See the screenshot for an example. The buildings look bad with these angles.
  4. OK, it is all working. This code creates two tables of Blue Client Names from the Unit field, like 'Blue A-10C 01' and 'Blue FA-18C 39'. One table, aircraftClientBlueCASNames, holds the pilot names for CAS aircraft type roles and the other for CAP aircraft types, aircraftClientBlueCAPNames. I have to define which aircraft go with which type roles in the CAS and CAP library tables. So, if I add a Client aircraft to the mission and I have not put the aircraft type into the code then when the mission starts the 'missing' type(s) will be displayed. With the Blue Client names in tables, I can use those tables as conditions in Mist functions, such as: --- code.Blue A/C In Jebel Zone mist.flagFunc.units_in_zones{ units = aircraftClientBlueCAPNames, zones = {'02 Jebel Zone'}, flag = 90256, toggle = true, } Now, here is the code to create the tables of Blue Client names, and warn me if I forget to add a new aircraft to the definition libraries for CAP and CAS. -- MS, code.Create Client Tables -- aircraftClientBlueCASTypesLibrary = {'A-10A','A-10C','A-10C2','AV8BNA'} -- missing Ground Attack CAS -- aircraftClientBlueCAPTypesLibrary = {'F-15C','FA-18C_hornet','F-14B','F-16C_50'} -- missing CAP aircraftClientBlueCASTypesLibrary = {'A-10A','A-10C','A-10C_2','AV8BNA'} -- Ground Attack CAS aircraftClientBlueCAPTypesLibrary = {'F-15C','FA-18C_hornet','F-14B','F-16C_50','F-14A-135-GR'} -- CAP aircraftClientBlueNames = {} aircraftClientBlueCASNames = {} aircraftClientBlueCAPNames = {} aircraftClientBlueTypes = {} aircraftClientBlueCASTypes = {} aircraftClientBlueCAPTypes = {} missingClientBlueTypes = {} aircraftClientRedNames = {} intMatches = 0 intMatchesStart = 0 intClientTypes = 0 do local function contains(tbl, val) for _,v in ipairs(tbl) do if v == val then return true end end return false end for uName, uData in pairs(mist.DBs.humansByName) do if(contains({'red'}, uData.coalition)) then if not(contains(aircraftClientRedNames, uName)) then table.insert(aircraftClientRedNames, uName) end end if(contains({'blue'}, uData.coalition)) then if not(contains(aircraftClientBlueNames, uName)) then table.insert(aircraftClientBlueNames, uName) if not(contains(aircraftClientBlueTypes, uData.type)) then table.insert(aircraftClientBlueTypes, uData.type) end if(contains(aircraftClientBlueCASTypesLibrary, uData.type)) then table.insert(aircraftClientBlueCASNames, uName) if not(contains(aircraftClientBlueCASTypes, uData.type)) then table.insert(aircraftClientBlueCASTypes, uData.type) end end -- Ground Attack Client if(contains(aircraftClientBlueCAPTypesLibrary, uData.type)) then table.insert(aircraftClientBlueCAPNames, uName) if not(contains(aircraftClientBlueCAPTypes, uData.type)) then table.insert(aircraftClientBlueCAPTypes, uData.type) end end -- CAP Client end end end for i = 1, #aircraftClientBlueTypes do intClientTypes = intClientTypes +1 end for i = 1, #aircraftClientBlueTypes do intMatchesStart = intMatches for j = 1, #aircraftClientBlueCAPTypesLibrary do if aircraftClientBlueTypes[i] == aircraftClientBlueCAPTypesLibrary[j] then intMatches = intMatches + 1 break end end for k = 1, #aircraftClientBlueCASTypesLibrary do if aircraftClientBlueTypes[i] == aircraftClientBlueCASTypesLibrary[k] then intMatches = intMatches + 1 break end end if intMatchesStart == intMatches then if not(contains(missingClientBlueTypes, aircraftClientBlueTypes[i])) then table.insert(missingClientBlueTypes, aircraftClientBlueTypes[i]) end end end end if intClientTypes ~= intMatches then trigger.action.outText('There are missing Blue Client Types in the Libraries.', 20) trigger.action.outText('Missing Blue Client Types', 20) table.sort(missingClientBlueTypes) for index, data in pairs(missingClientBlueTypes) do trigger.action.outText(tostring(data), 20, false) end trigger.action.outText('\n aircraftClientBlueCASTypesLibrary', 20) table.sort(aircraftClientBlueCASTypesLibrary) for index, data in pairs(aircraftClientBlueCASTypesLibrary) do trigger.action.outText(tostring(data), 20, false) end trigger.action.outText('\n aircraftClientBlueCAPTypesLibrary', 20) table.sort(aircraftClientBlueCAPTypesLibrary) for index, data in pairs(aircraftClientBlueCAPTypesLibrary) do trigger.action.outText(tostring(data), 20, false) end end Test ClientNamesByType 256S1e.miz
  5. Thank you Grimes. I have the table aircraftClientBlueCAPTypes and I want to know if everything in here is in aircraftClientBlueCAPTypesLibrary. The Library table can have more types in it. I will work on the code and get back with the result.
  6. I have two tables and need to compare, for instance: aircraftClientBlueCAPTypesLibrary = {'F-15C','FA-18C_hornet','F-14B','F-16C_50'} aircraftClientBlueCAPTypes = {'F-15C','F-14B'} What is the lua code that I can use in a Do Script action to return either: trigger.action.outText('aircraftClientBlueCAPTypes are matched', 20) or, trigger.action.outText('aircraftClientBlueCAPTypes are NOT MATCHED'), 20) ? TIA! I tried a simple 'if a == b then', and a 'function do_tables_match( aircraftClientBlueCAPTypesLibrary , aircraftClientBlueCAPTypes )' but I don't know how...
  7. All Of Coalition Out Of Zone, should not consider FARPs v256.59625.1 For the Event Condition of 'All Of Coalition Out Of Zone' a Static Object FARP is considered in the evaluation. This is a mistake. A Static Object should not be considered. My examination shows that only a Static Object FARP is; other Static Objects and coalition airfields are not. I have included two mission files that have: a FARP within the Mezzeh Airbase zone, and one with the FARP out of the zone. There are Radio F10 Menu options to Deactivate the regular group which should give a All Of Coalition Out Of Zone result of True. When the FARP is in the zone then the condition is not True. From the DCS User Manual, Page 121: The bug is that Static Object FARPs are inhibitors in the evaluation of All Of Coalition Out Of Zone. The manual says "aircraft, vehicles, ships". Also, please update the manual. See the two attached missions. --- additional information I added Static Object "aircraft, vehicles, ships" in the zone; respectively AN-26B, 2B11 mortar, speedboat, so that the conditions of the manual are considered in my complaint. The Static Object AN-26B and Static Object speedboat are not inhibitors, but the Static Object 2B11 mortar is. Fix this stuff. It is ridiculous. I have made missions for >20 years and spending >twoo weeks running down these bugs is really frustrating. Test SO Coalition Out Of Zone v01 FARP in Zone.miz Test SO Coalition Out Of Zone v02 FARP Out of Zone.miz
  8. Thank you for posting this idea Tom_ I have been voicing this idea for a while to my friends. I call it a Universal Client Slot. Airfield parking slots are already restricted to aircraft. The very large aircraft can only go in certain slots. Only very small fighters can fit in the reinforced covered slots on the Syria map. There are helicopter-only slots. There is already built-in logic for parking slot and aircraft compatibility. So if there is a Blue airfield with Universal Client Slots then a client should be able to choose one of those slots and choose a Blue-coalition aircraft from their library (same goes for Red airfields and aircraft). The aircraft would spawn as a (cold) Ramp Start. The client would then need to bring up the Load Weapons window to select the loadout and livery options. Weapons availability would be dependant upon that airfield's resources.
  9. Ahh - same issue a little bit further south on the 4 lane, at N 35 35 22 , E 35 56 50
  10. This is from a few years ago. This script is called when a helicopter lands for 2 seconds, and then a MANPADS team is spawned at the location. It uses MIST to get the position and heading info - --- Stinger Drop Vulcans vs Sharks --- triggered by an event that detects landing -- for Clients: -- UH-1H 01 Nalchik Cold Start, BLF VGrp90 Stinger -- UH-1H 02 Nalchik Cold Start -- UH-1H 03 FARP London Cold Start -- UH-1H 04 FARP London Cold Start -- UH-1H 05 FARP London Cold Start -- UH-1H 06 FARP London Cold Start -- UH-1H 11 Stinger Teams Cold Start, BLF VGrp04 MANPADS local grpNameHelicopter = 'UH-1H 11 Stinger Teams Cold Start' local grpNameTeam = 'BLF VGrp04 MANPADS' local unitNameHelicopter = Group.getByName(grpNameHelicopter):getUnit(1):getName() local basePos = mist.getLeadPos(grpNameHelicopter) local baseHeadingRad = mist.getHeading(Unit.getByName(unitNameHelicopter)) local baseHeadingDeg = baseHeadingRad * 180 / math.pi local newGroupTeam = mist.getGroupData(grpNameTeam) local newCoords = { [1] = { x = basePos.x + ((75 * math.cos(baseHeadingDeg)) - (0 * math.sin(baseHeadingDeg))), y = basePos.z + ((75 * math.sin(baseHeadingDeg)) + (0 * math.cos(baseHeadingDeg))), heading = baseHeadingDeg, }, [2] = { x = basePos.x + ((-75 * math.cos(baseHeadingDeg)) - (75 * math.sin(baseHeadingDeg))), y = basePos.z + ((-75 * math.sin(baseHeadingDeg)) + (75 * math.cos(baseHeadingDeg))), heading = baseHeadingDeg + 40, }, [3] = { x = basePos.x + ((-75 * math.cos(baseHeadingDeg)) - (-75 * math.sin(baseHeadingDeg))), y = basePos.z + ((-75 * math.sin(baseHeadingDeg)) + (-75 * math.cos(baseHeadingDeg))), heading = baseHeadingDeg - 40, } } for i = 1, #newGroupTeam.units do newGroupTeam.units[i].x = newCoords[i].x newGroupTeam.units[i].y = newCoords[i].y newGroupTeam.units[i].heading = newCoords[i].heading end newGroupTeam.clone = true mist.dynAdd(newGroupTeam) local unitNameHelicopterPlayer = Group.getByName(grpNameHelicopter):getUnit(1):getPlayerName() trigger.action.outText(unitNameHelicopterPlayer .. ' just dropped off a Stinger team!', 20) --- end of Stinger Drop Vulcans vs Sharks
  11. Syria map. Broken Road Intersection, N 35 38 0, E 36 0 19 Broken intersection from the 4-lane highway to the east road. See the screen shot.
  12. Why can't I sort the Trigger Zones List yet?
  13. ME Briefing incorrect ASCII Alt-248 When entering text into the Mission Briefing, Alt-248 should enter the 'degree' symbol of ° Instead, it brings up this - Φ Please fix Alt-248 to show the degree symbol °
  14. The new automatic Pilot Naming is the worst. Where is the setting to turn it off?
  15. Offer a 'Universal' Client/Player Unit Type for aircraft slots. Example: An A-10 slot that will accept the Player's livery of either a A-10A, A-10C or A-10C II.
  16. Plus, the Zone List Window should close when clicking on the map outside of the window.
  17. And, the Radius value in the two fields needs to be the same value.
  18. The Zone List needs to sort on the Name column.
  19. Add a Fog Control option to fade out the fog, such as after a Time More. And include a Ramp Down Time to fade the fog from it's setting to zero. I'd like to see pre-dawn fog that clears up after a couple of hours.
  20. Bump. Enhance the Mission Editor for the triggered action 'Load Mission' by providing a checkbox for 'Restart This Mission'. If checked then the File: argument field would be greyed out for this action. This will help the mission designer in that they would not need to change the File: argument each time that the mission name is changed, such as for a revision change.
  21. Try using the Mouse Wheel instead. Click it down and you should get the Measuring Tool anytime.
  22. I am using the ME for the first time since these Unit Naming changes. This new approach is putting in Unit Names that are not appropriate. I create a new group from a Copy Paste. The 1st unit gets a Unit name from the previous group, which can be a different type like armor vs air defense; the next units in the group get this new naming convention of the (new) group name & '-x' where x is 1 through n; but 'x' is one less than the Unit Number; so Unit 2 is '-1'. But really, the Unit Name should revert back to the old method of like 'Unit #xxx' so we mission designers can use what we want when we want to without having to spend time correcting auto-generated names.
  23. Here is attached Hollo Pointe Server track files - https://drive.google.com/file/d/1dyXKtxM3ZyuIoDlc_yguTqGvXN3DPFFs/view?usp=sharing
  24. An old mission threw a new error today - constant table overflow. I was cleaning up groups to get them out of the trees, and moved some units out from within airbase fences. I touched every road group to align them to the roads and touched every waypoint to make sure they were on the roads, especially ones on dual-lane highways. I changed some unit headings. I did not make any additions or deletions. I went to save the changes and got the above error - see the screenshot. After that I could not Open a mission - the ME hung up. The only way I could get the ME to Open a mission was to exit the game completely, start the ME, and create a NEW mission and Save it. Only them could I open any other mission. The mission is attached. The Highway 256C1e.zip
×
×
  • Create New...