Jump to content

johnv2pt0

Members
  • Posts

    760
  • Joined

  • Last visited

  • Days Won

    2

Posts posted by johnv2pt0

  1. As a multi-monitor user, the interface for the kneeboard is very annoying because of multiple drag/resize actions every time starting up an aircraft.

    It would be very nice to either change the default position to the entire screen origin (x=0,y=0) or better yet implementing a UI element in the options to allow the user to specify a different location.

    Thanks for your consideration.

    • Like 4
  2. On 9/10/2020 at 8:23 AM, Devrim said:

    Update: v1.0 | I.C. Passed.

     

     

     

    +-----------+

    | CHANGELOG |

    +-----------+

     

    v1.0 Installation method changed. Now (with a little trick), integrity check: OK! :pilotfly:

    Hi Devrim, thanks for your work on these mods.  Could you explain what this "little trick" to pass integrity check is?  I'd like to reduce the resolution of the F14 panels to get better framerates while still being able to fly MP, but am unsure of how to install in Saved Games.  Thanks ~

  3. +1 to lua functionality and min/max settings.  That would be awesome.

    I thought the normal restocking of airfields worked though, so I just did a test and it appears you're right about the initial setting.  It's acting like both the initial stock AND the max it will restock to.

    For now a workaround may be to have late activated AI that you can later :destroy to absorb the initial stockpile of weapon x.

     

    I hope your suggestion gets implemented!

  4. Thanks, that works for making them show up, but the paint still isn't applied to the shape.  It's like it can't see the .dds I'm using for the evu.  

     

    I've tried using DIFFUSE, NORMAL_MAP instead of 0, 1 respectively as well which doesn't work.  I've seen some other's liveries and looked at their description.lua and as far as I can tell mine is calling it identically.

     

    Also tried saving the dds as BC2 instead of BC7 to no avail.  

     

    Any other ideas are appreciated ~

     

    Disregard...I need glasses.  Thanks for the help ~

     

  5. Have the file, but can't get the description.lua line for the game to recognize.  Anyone know what it is?

     

    This does not work:

     

    -- IR Suppressors
        {"mi-24p_evu", 0, "355_mi-24p_evu", false};
        {"mi-24p_evu", 1, "mi-24p_evu_NRM", true};
        {"mi-24p_evu", ROUGHNESS_METALLIC, "mi-24p_evu_RoughMet", true};

  6. The easiest (and maybe only way really) is to use the scripting engine for this.  Here's a script that will do what you want.  Just make sure that whatever AI jet you want to have messages for has "AI" in it's name and run the script on a ONCE - TIME MORE trigger.  Adjust as you like.  I didn't look at the rest of your mission but this should get you the messaging part.

     

     

     

    AI AAR test.miz AI AAR.lua

  7. I see I made a mistake not referencing the correct subtable within getPosition().p...  Updated code below doesn't produce stack overflow, but now says the ".p" part of the position table is a nil value.  

     

    -- === CONFIG ===
    
    local Prefix_Table = {"CAS","CAP","AFAC","ROT","heli",} 
    
    local Chief_Offsets = { x = 19 , z = -6 } -- meters x = South(-) to North(+) , z = West(-) to East(+) 
    
    local Chief_Extinguisher = { x = 18 , z = -6 }
    
    -- ==============
    
    local Spawned_Chief_Table = {}
    
    local function Get_Back_Bearing(client_heading)
          
          if client_heading < 210 then
             
             return client_heading + 150
             
          elseif client_heading >= 210 then
                 
             return client_heading + 150 - 360
          end
    end
    
    ClientSpawnHandler = {}
    
    function ClientSpawnHandler:onEvent(event)
      
      if world.event.S_EVENT_BIRTH == event.id and 
      (event.initiator:getName():find('CAS')) then
         
         local client = event.initiator
         
    	 local client_Name = event.initiator:getName()
         
    	 local client_Country = event.initiator:getCountry()
    
         local client_position = client:getPosition().p
         
         local client_heading = mist.getHeading(client)
         
         local back_heading = Get_Back_Bearing(client_heading)
         
         local back_heading_rad = back_heading * math.pi / 180 -- radians
    	 
         local Offset_SpawnCoord = { x = (client_position.p.x + 19), y = 0, z = (client_position.p.z - 6) } 
    	 
    	 local Offset_SpawnCoord_Ext = { x = (client_position.p.x + 18), y = 0, z = (client_position.p.z - 6) }
    
    
         
    local M4_Group_Template = {
                                ["visible"] = false,  
                                ["tasks"] = {}, 
                                ["uncontrollable"] = false,
                                ["task"] = "Ground Nothing",
                                ["taskSelected"] = true,
                                ["groupId"] = nil, 
                                ["hidden"] = Hidden_On_Map ,
                                ["y"] = Offset_SpawnCoord.z , 
                                ["x"] = Offset_SpawnCoord.x ,  
                                ["name"] = client_Name.."_chief group", 
                                ["CountryID"] = client_Country ,
                                ["CategoryID"] = Unit.Category.GROUND_UNIT ,
                                
                                ["route"] = {} ,
                                
                                ["units"] = {
                                             [1] = {
                                                     ["type"] = "VPC-NATO-MAN 1",
                                            
                                                     ["transportable"] = { ["randomTransportable"] = false, }, 
                                            
                                                     ["unitId"] = nil,
                                                     ["livery_id"] = "UN",
                                                     ["skill"] = "Excellent",
                                                     ["y"] = Offset_SpawnCoord.z , 
                                                     ["x"] = Offset_SpawnCoord.x , 
                                                     ["name"] = client_Name.."_chief",
                                                     ["heading"] = back_heading_rad, -- It must be given in radians!
                                                     ["playerCanDrive"] = false,
                                                     ["ClientName"] = client_Name, -- This is a custom parameter I've added, in order to make removal simpler later on 
                                                    }, -- end of [1]
    										[2] = {
                                                     ["type"] = "VPC-NATO-BALON",
                                            
                                                     ["transportable"] = { ["randomTransportable"] = false, }, 
                                            
                                                     ["unitId"] = nil,
                                                     ["livery_id"] = "UN",
                                                     ["skill"] = "Excellent",
                                                     ["y"] = Offset_SpawnCoord_Ext.z , 
                                                     ["x"] = Offset_SpawnCoord_Ext.x , 
                                                     ["name"] = client_Name.."_chief_ext",
                                                     ["heading"] = back_heading_rad, -- It must be given in radians!
                                                     ["playerCanDrive"] = false,
                                                     ["ClientName"] = client_Name, -- This is a custom parameter I've added, in order to make removal simpler later on 
                                                    }, -- end of [2]
                                             }, -- end of ["units"]
                                            
                               } -- end of Unit_Template
          
          coalition.addGroup(M4_Group_Template.CountryID, M4_Group_Template.CategoryID, M4_Group_Template) 
         
          Spawned_Chief_Table[client_Name.."_chief"] = M4_Group_Template
         
          --table.insert(Spawned_Chief_Table, M4_Group_Template) 
          
          for TemplateName , TemplateTable in pairs( Spawned_Chief_Table ) do 
             
              if Unit.getByName(TemplateTable.units[1].name) ~= nil and Unit.getByName(TemplateTable.units[1].ClientName) == nil then
               
                 Unit.getByName(TemplateTable.units[1].name):destroy()
                 Unit.getByName(TemplateTable.units[2].name):destroy()
    			
                 Spawned_Chief_Table[TemplateName] = nil
                
              end
          end
      end
      
      if world.event.S_EVENT_ENGINE_STARTUP == event.id and 
      (event.initiator:getName():find('CAS')) then
         
         for TemplateName , TemplateTable in pairs( Spawned_Chief_Table ) do 
             
             if TemplateTable.units[1].ClientName == event.initiator:getName() and Unit.getByName(TemplateTable.units[1].name) ~= nil then
               
    			trigger.action.outSoundForGroup( event.initiator:getGroup():getID(), "WHEEL CHOCKS b.ogg")
    			
                Unit.getByName(TemplateTable.units[1].name):destroy()
                Unit.getByName(TemplateTable.units[2].name):destroy()
    			
                Spawned_Chief_Table[TemplateName] = nil
                
             end
         end
      end
    end
    
    
    world.addEventHandler(ClientSpawnHandler)
    env.info("Crew Chief Script Loaded!")

     

  8. I had tried :getPoint() before and got a "C Stack Overflow" crash...just tried :getPosition().p and receive the same problem.  

     

    If you feel like taking a look, here's what I've got.  No worries ~  Thanks

     

    -- === CONFIG ===
    
    local Prefix_Table = {"CAS","CAP","AFAC","ROT","heli",} 
    
    local Chief_Offsets = { x = 19 , z = -6 } -- meters x = South(-) to North(+) , z = West(-) to East(+) 
    
    local Chief_Extinguisher = { x = 18 , z = -6 }
    
    -- ==============
    
    local Spawned_Chief_Table = {}
    
    local function Get_Back_Bearing(client_heading)
          
          if client_heading < 210 then
             
             return client_heading + 150
             
          elseif client_heading >= 210 then
                 
             return client_heading + 150 - 360
          end
    end
    
    ClientSpawnHandler = {}
    
    function ClientSpawnHandler:onEvent(event)
      
      if world.event.S_EVENT_BIRTH == event.id and 
      (event.initiator:getName():find('CAS')) then
         
         local client = event.initiator
         
    	 local client_Name = event.initiator:getName()
         
    	 local client_Country = event.initiator:getCountry()
    
         local client_position = event.initiator:getPosition().p
         
         local client_heading = mist.getHeading(client)
         
         local back_heading = Get_Back_Bearing(client_heading)
         
         local back_heading_rad = back_heading * math.pi / 180 -- radians
    	 
         local Offset_SpawnCoord = { x = (client_position.x + 19), y = 0, z = (client_position.z - 6) } 
    	 
    	 local Offset_SpawnCoord_Ext = { x = (client_position.x + 18), y = 0, z = (client_position.z - 6) }
    
    
         
    local M4_Group_Template = {
                                ["visible"] = false,  
                                ["tasks"] = {}, 
                                ["uncontrollable"] = false,
                                ["task"] = "Ground Nothing",
                                ["taskSelected"] = true,
                                ["groupId"] = nil, 
                                ["hidden"] = Hidden_On_Map ,
                                ["y"] = Offset_SpawnCoord.z , 
                                ["x"] = Offset_SpawnCoord.x ,  
                                ["name"] = client_Name.."_chief group", 
                                ["CountryID"] = client_Country ,
                                ["CategoryID"] = Unit.Category.GROUND_UNIT ,
                                
                                ["route"] = {} ,
                                
                                ["units"] = {
                                             [1] = {
                                                     ["type"] = "VPC-NATO-MAN 1",
                                            
                                                     ["transportable"] = { ["randomTransportable"] = false, }, 
                                            
                                                     ["unitId"] = nil,
                                                     ["livery_id"] = "UN",
                                                     ["skill"] = "Excellent",
                                                     ["y"] = Offset_SpawnCoord.z , 
                                                     ["x"] = Offset_SpawnCoord.x , 
                                                     ["name"] = client_Name.."_chief",
                                                     ["heading"] = back_heading_rad, -- It must be given in radians!
                                                     ["playerCanDrive"] = false,
                                                     ["ClientName"] = client_Name, -- This is a custom parameter I've added, in order to make removal simpler later on 
                                                    }, -- end of [1]
    										[2] = {
                                                     ["type"] = "VPC-NATO-BALON",
                                            
                                                     ["transportable"] = { ["randomTransportable"] = false, }, 
                                            
                                                     ["unitId"] = nil,
                                                     ["livery_id"] = "UN",
                                                     ["skill"] = "Excellent",
                                                     ["y"] = Offset_SpawnCoord_Ext.z , 
                                                     ["x"] = Offset_SpawnCoord_Ext.x , 
                                                     ["name"] = client_Name.."_chief_ext",
                                                     ["heading"] = back_heading_rad, -- It must be given in radians!
                                                     ["playerCanDrive"] = false,
                                                     ["ClientName"] = client_Name, -- This is a custom parameter I've added, in order to make removal simpler later on 
                                                    }, -- end of [2]
                                             }, -- end of ["units"]
                                            
                               } -- end of Unit_Template
          
          coalition.addGroup(M4_Group_Template.CountryID, M4_Group_Template.CategoryID, M4_Group_Template) 
         
          Spawned_Chief_Table[client_Name.."_chief"] = M4_Group_Template
         
          --table.insert(Spawned_Chief_Table, M4_Group_Template) 
          
          for TemplateName , TemplateTable in pairs( Spawned_Chief_Table ) do 
             
              if Unit.getByName(TemplateTable.units[1].name) ~= nil and Unit.getByName(TemplateTable.units[1].ClientName) == nil then
               
                 Unit.getByName(TemplateTable.units[1].name):destroy()
                 Unit.getByName(TemplateTable.units[2].name):destroy()
    			
                 Spawned_Chief_Table[TemplateName] = nil
                
              end
          end
      end
      
      if world.event.S_EVENT_ENGINE_STARTUP == event.id and 
      (event.initiator:getName():find('CAS')) then
         
         for TemplateName , TemplateTable in pairs( Spawned_Chief_Table ) do 
             
             if TemplateTable.units[1].ClientName == event.initiator:getName() and Unit.getByName(TemplateTable.units[1].name) ~= nil then
               
    			trigger.action.outSoundForGroup( event.initiator:getGroup():getID(), "WHEEL CHOCKS b.ogg")
    			
                Unit.getByName(TemplateTable.units[1].name):destroy()
                Unit.getByName(TemplateTable.units[2].name):destroy()
    			
                Spawned_Chief_Table[TemplateName] = nil
                
             end
         end
      end
    end
    
    
    world.addEventHandler(ClientSpawnHandler)
    env.info("Crew Chief Script Loaded!")

     

    Most credit goes to Hardcard for the code, I'm adjusting it to remove the MOOSE requirement because it is unreliable for some reason.  

  9. I am trying to get the coordinates of a spot that is offset from a known position, but I keep getting an error saying you can't perform arithmetic on a field that is a table value.  

     

    local client_position = event.initiator:getPosition()

    local offset_position = { x = client_position.x + 50, y = 0, z = client_position.z + 50 }

     

    This doesn't work, however this (unrelated example) does work:

     

    HeadingToSub3 =  mist.utils.getDir({ x = (SubPos3.x - heloPos.x) , y = 0 , z = (SubPos3.z - heloPos.z) })

     

    It's got to be simple...but I'm kinda dumb.

     

     

     

  10. AI harriers have been notoriously bad since day 1.  If I had to guess I'd say they've not worked correctly in various ways 90% of patches and I wouldn't expect that to change.

     

    I think your workaround is probably the only answer...or something in a similar vane.  You could try giving them even less fuel  and if there's an amount they will behave correctly with, then have them go direct to a tanker if you can work it in your scenario.  I would also check that they are facing into the wind on takeoff...or even give them a direct tailwind just to test since coding gets easily messed up sometimes.  Also wind speed might make a difference.  

     

    Just spitballing here...good luck ~

  11. Same problem, dcs crashes about %50 of the time when spawning into a tomcat, pilot or rio.  Seems related to lighting textures...

     

    2021-05-25 15:51:14.959 INFO    Lua: Lua CPU usage: metric: average mission execution: 9.1535 %
    2021-05-25 15:51:15.095 ERROR_ONCE DX11BACKEND: texture 'hb_f14_cpt_seat_extras' not found. Asked from 'NGMODEL'
    2021-05-25 15:51:15.313 ERROR_ONCE DX11BACKEND: texture 'bake2pan_normals' not found. Asked from 'NGMODEL'
    2021-05-25 15:51:15.592 ERROR   DX11BACKEND: Failed assert `false && "unknown format"` at Projects\render\dx11backend_win8\Source\DX11Utils.cpp:41
    2021-05-25 15:51:15.592 WARNING DX11BACKEND: Texture 'mods/aircraft/f14/textures/rio/diffuserm/HB_F14_CPT_RIO_BUTTONLIGHTS_RED.dds' has unknown format: 95
    2021-05-25 15:51:15.601 ERROR   DX11BACKEND: Failed assert `false && "unknown format"` at Projects\render\dx11backend_win8\Source\DX11Utils.cpp:41
    2021-05-25 15:51:15.601 WARNING DX11BACKEND: Texture 'mods/aircraft/f14/textures/rio/diffuserm/HB_F14_CPT_RIO_BUTTONLIGHTS_GREEN.dds' has unknown format: 95
    2021-05-25 15:51:15.652 ERROR   DX11BACKEND: Failed assert `false && "unknown format"` at Projects\render\dx11backend_win8\Source\DX11Utils.cpp:41
    2021-05-25 15:51:15.652 WARNING DX11BACKEND: Texture 'mods/aircraft/f14/textures/rio/diffuserm/RIO_LANTIRN_PANEL_LIGHTS.dds' has unknown format: 95

     

    Also explains why windows8 compatibility seems to help.

  12. we had an internal vote for brm1 on inner pylons

    unfortunately, we met gandalf

     

    [ATTACH=JSON]{"data-align":"none","data-size":"full","data-attachmentid":7137079}[/ATTACH]

     

    Well, i will try again

     

    Maybe some Old Toby would change their minds! We're not above bribery...

×
×
  • Create New...