Jump to content

Bruce_D

Members
  • Posts

    314
  • Joined

  • Last visited

Everything posted by Bruce_D

  1. Hi @Sacarino111, Tks for your help! Your solution didn't work for me, but I've found the error. I didn´t fix it, yet. The problem is with a shape named "ns430.edm" that can be found in \Eagle Dynamics\DCS World\Mods\aircraft\NS430\Shapes When you change the line 6 on the file "mainpanel_init.lua" from "-- parse_shape_to_render = false" to "parse_shape_to_render = false" you will see that the main frame for the NS430 is zoomed. This file can be found in \Eagle Dynamics\DCS World\Mods\aircraft\NS430\Cockpit\Scripts I Will try to run a repair or copy the shape from an old DCS version and see the results. I'm not sure if that is going to work! Tks
  2. Hi, Do you use more then one monitor? If yes, how many? Can you share your configuration? Tks
  3. No, it isn't solved. I use 4 monitors and unistalled the module.
  4. Before the last patch it was impossible to hit an ACE plane in BVR. Now we can do that!
  5. Totally, it is the most important problem to be solved IMHO!
  6. Bruce_D

    Phoenix 2.7

    Check this: AI instantly reacts to ARH missile launch - AI Bugs (Non-Combined Arms) - ED Forums (eagle.ru)
  7. They fixed some AI behavior, but not this, not even mentioned
  8. New Patch, same problem! Tacview-20210423-103253-DCS-Phoenix.zip.acmi
  9. +1 Tacview-20210414-174749-DCS-Phoenix.zip.acmi TWS.trk
  10. Hahahaha April's fool
  11. Hi, And what error message are you receiving?
  12. Hi, I've found a bug. Here is the correction: nome = {} -- nome das bases incluso FARP idNome = {} -- ID das bases incluso FARP local baseaerea = world.getAirbases() -- todas as bases incluso FARP for a, b in pairs(baseaerea) do if b:getCategory() == 4 then idNome[#idNome+1] = tostring(b:getID()) nome[#nome+1] = b:getName() end end function CheckBase(Check, time) -- Pista danificada -- Check[1] = Nome da base aérea -- Check[2] = Flag if trigger.misc.getUserFlag(Check[2]) == 11 then return nil else local base = Airbase.getByName(Check[1]):getLife() -- Verifica a vida da base local function arredondar(x, n) n = math.pow(10, n or 0) x = x * n if x >= 0 then x = math.floor(x + 0.5) else x = math.ceil(x - 0.5) end return x / n end if base < 3600 and base >= 1 then local num = base/3600 local numfinal = (1 - arredondar(num, 1))*10 if numfinal == 10 then trigger.action.setUserFlag(Check[2], numfinal) return nil else trigger.action.setUserFlag(Check[2], numfinal) return time + 25 end else return nil end end end function morte(morto) trigger.action.setUserFlag(morto, 11) end local Event_Handler = {} function Event_Handler:onEvent(Event) if Event.id == 1 then -- disparo local arma = Event.weapon:getTypeName() if arma ~= "AIM-54C" and arma ~= "AIM-7M" and arma ~= "AIM-54A-MK" and arma ~= "AIM-9M" then if arma ~= "AIM-120C" and arma ~= "AIM-120B" and arma ~= "AIM-9L" then if arma ~= "weapons.missiles.AIM-7MH" and arma ~= "AIM-9X" and arma ~= "weapons.missiles.AIM-7F" and arma ~= "weapons.missiles.AIM_7" then for c, d in pairs(nome) do local detalhes = {} detalhes = { nome[c], idNome[c] } timer.scheduleFunction(CheckBase, detalhes,timer.getTime() + 30) end end end end elseif Event.id == 8 and Event.initiator ~= nil then -- morto local objeto = Event.initiator local pista = objeto:getName() local categoria = objeto:getCategory() if categoria == 4 then for e, f in pairs(nome) do if f == pista then local identidade = "" identidade = idNome[e] timer.scheduleFunction(morte, identidade,timer.getTime() + 30) end end end end end world.addEventHandler(Event_Handler) Tks
  13. Hi, I did an improvement for the function: nome = {} -- nome das bases incluso FARP idNome = {} -- ID das bases incluso FARP local baseaerea = world.getAirbases() -- todas as bases incluso FARP for a, b in pairs(baseaerea) do if b:getCategory() == 4 then idNome[#idNome+1] = tostring(b:getID()) nome[#nome+1] = b:getName() end end function CheckBase(Check, time) -- Pista danificada -- Check[1] = Nome da base aérea -- Check[2] = Flag local base = Airbase.getByName(Check[1]):getLife() -- Verifica a vida da base local function arredondar(x, n) n = math.pow(10, n or 0) x = x * n if x >= 0 then x = math.floor(x + 0.5) else x = math.ceil(x - 0.5) end return x / n end if base < 3600 and base >= 1 then local num = base/3600 local numfinal = (1 - arredondar(num, 1))*10 if numfinal == 10 then trigger.action.setUserFlag(Check[2], numfinal) return nil else trigger.action.setUserFlag(Check[2], numfinal) return time + 25 end else return nil end end function morte(morto) trigger.action.setUserFlag(morto, 11) end local Event_Handler = {} function Event_Handler:onEvent(Event) if Event.id == 1 then -- disparo local arma = Event.weapon:getTypeName() if arma ~= "AIM-54C" and arma ~= "AIM-7M" and arma ~= "AIM-54A-MK" and arma ~= "AIM-9M" then if arma ~= "AIM-120C" and arma ~= "AIM-120B" and arma ~= "AIM-9L" then if arma ~= "weapons.missiles.AIM-7MH" and arma ~= "AIM-9X" and arma ~= "weapons.missiles.AIM-7F" and arma ~= "weapons.missiles.AIM_7" then for c, d in pairs(nome) do local detalhes = {} detalhes = { nome[c], idNome[c] } timer.scheduleFunction(CheckBase, detalhes,timer.getTime() + 30) end end end end elseif Event.id == 8 and Event.initiator ~= nil then -- morto local objeto = Event.initiator local pista = objeto:getName() local categoria = objeto:getCategory() if categoria == 4 then for e, f in pairs(nome) do if f == pista then local identidade = "" identidade = idNome[e] timer.scheduleFunction(morte, identidade,timer.getTime() + 30) end end end end end world.addEventHandler(Event_Handler) The number of the flag is the ID for the base or FARP. The flag value goes from 1 to 10 and represents the percentage of the damage on the runway. Example: if the runway receives a 10% damage the flag value is 1. If the damage is 84% the flag value is 8 and so on. To discover the base's ID use the following code: local baseaerea2 = world.getAirbases() local teste = {} for a, b in pairs(baseaerea2) do if b:getCategory() == 4 then teste[#teste+1] = "\n ID: " .. b:getID() .. " / Name: " .. b:getName() end end trigger.action.outText(table.concat(teste), 60) If somebody could test it, I would appreciate. tks
  14. Hi, With this version you can use the function to every base and FARP on the map (it works for every map): nome = {} -- nome das bases incluso FARP idNome = {} -- ID das bases incluso FARP local baseaerea = world.getAirbases() -- todas as bases incluso FARP for a, b in pairs(baseaerea) do if b:getCategory() == 4 then idNome[#idNome+1] = tostring(b:getID()) nome[#nome+1] = b:getName() end end function CheckBase(Check, time) -- Pista danificada -- Check[1] = Nome da base aérea -- Check[2] = Flag local base = Airbase.getByName(Check[1]):getLife() -- Verifica a vida da base if base < 3600 and base >= 3240 then trigger.action.setUserFlag(Check[2], 1) return time + 25 elseif base < 3240 and base >= 2880 then trigger.action.setUserFlag(Check[2], 2) return time + 25 elseif base < 2880 and base >= 2520 then trigger.action.setUserFlag(Check[2], 3) return time + 25 elseif base < 2520 and base >= 2160 then trigger.action.setUserFlag(Check[2], 4) return time + 25 elseif base < 2160 and base >= 1800 then trigger.action.setUserFlag(Check[2], 5) return time + 25 elseif base < 1800 and base >= 1440 then trigger.action.setUserFlag(Check[2], 6) return time + 25 elseif base < 1440 and base >= 1080 then trigger.action.setUserFlag(Check[2], 7) return time + 25 elseif base < 1080 and base >= 720 then trigger.action.setUserFlag(Check[2], 8) return time + 25 elseif base < 720 and base >= 360 then trigger.action.setUserFlag(Check[2], 9) return time + 25 elseif base < 360 then trigger.action.setUserFlag(Check[2], 10) return nil else return time + 300 end end function morte(morto) trigger.action.setUserFlag(morto, 11) end local Event_Handler = {} function Event_Handler:onEvent(Event) if Event.id == 1 then -- disparo local arma = Event.weapon:getTypeName() if arma ~= "AIM-54C" and arma ~= "AIM-7M" and arma ~= "AIM-54A-MK" and arma ~= "AIM-9M" then if arma ~= "AIM-120C" and arma ~= "AIM-120B" and arma ~= "AIM-9L" then if arma ~= "weapons.missiles.AIM-7MH" and arma ~= "AIM-9X" and arma ~= "weapons.missiles.AIM-7F" and arma ~= "weapons.missiles.AIM_7" then for c, d in pairs(nome) do local detalhes = {} detalhes = { nome[c], idNome[c] } timer.scheduleFunction(CheckBase, detalhes,timer.getTime() + 30) end end end end elseif Event.id == 8 and Event.initiator ~= nil then -- morto local objeto = Event.initiator local pista = objeto:getName() local categoria = objeto:getCategory() if categoria == 4 then for e, f in pairs(nome) do if f == pista then local identidade = "" identidade = idNome[e] timer.scheduleFunction(morte, identidade,timer.getTime() + 30) end end end end end world.addEventHandler(Event_Handler) The number of the flag is the ID for the base or FARP. To discover this ID use the following code: local baseaerea2 = world.getAirbases() local teste = {} for a, b in pairs(baseaerea2) do if b:getCategory() == 4 then teste[#teste+1] = "\n ID: " .. b:getID() .. " / Name: " .. b:getName() end end trigger.action.outText(table.concat(teste), 60) Hope that I could Help. If somebody could test it, I would appreciate. tks
  15. @ElementLT, I'm developing a new script that can be used for every airbase on the map. As soon as I finish it do you want to test it and tell me if it work's? tks
  16. function CheckBase(Check, time) -- Damage runway local base = Airbase.getByName(Check):getLife() -- Check the airbase's life if base < 3600 and base >= 3240 then trigger.action.setUserFlag("100", 1) trigger.action.outText(Check .. " is 10% damage", 60, true) return time + 25 elseif base < 3240 and base >= 2880 then trigger.action.setUserFlag("100", 2) trigger.action.outText(Check .. " is 20% damage", 60, true) return time + 25 elseif base < 2880 and base >= 2520 then trigger.action.setUserFlag("100", 3) trigger.action.outText(Check .. " is 30% damage", 60, true) return time + 25 elseif base < 2520 and base >= 2160 then trigger.action.setUserFlag("100", 4) trigger.action.outText(Check .. " is 40% damage", 60, true) return time + 25 elseif base < 2160 and base >= 1800 then trigger.action.setUserFlag("100", 5) trigger.action.outText(Check .. " is 50% damage", 60, true) return time + 25 elseif base < 1800 and base >= 1440 then trigger.action.setUserFlag("100", 6) trigger.action.outText(Check .. " is 60% damage", 60, true) return time + 25 elseif base < 1440 and base >= 1080 then trigger.action.setUserFlag("100", 7) trigger.action.outText(Check .. " is 70% damage", 60, true) return time + 25 elseif base < 1080 and base >= 720 then trigger.action.setUserFlag("100", 8) trigger.action.outText(Check .. " is 80% damage", 60, true) return time + 25 elseif base < 720 and base >= 360 then trigger.action.setUserFlag("100", 9) trigger.action.outText(Check .. " is 90% damage", 60, true) return time + 25 elseif base < 360 then trigger.action.setUserFlag("100", 10) trigger.action.outText(Check .. " is more then 90% damage", 60, true) return nil else return time + 300 end end function morte(morto) trigger.action.setUserFlag("100", 11) trigger.action.outText(morto .. " is destroyed", 60, true) end local Event_Handler = {} function Event_Handler:onEvent(Event) if Event.id == 1 then -- Shot local aviao = Event.initiator:getName() local WeaponShoot = Event.weapon:getTypeName() if aviao == "Player" then if WeaponShoot ~= "AIM-54C" and WeaponShoot ~= "AIM-7M" and WeaponShoot ~= "AIM-54A-MK" and WeaponShoot ~= "AIM-9M" then if WeaponShoot ~= "AIM-120C" and WeaponShoot ~= "AIM-120B" and WeaponShoot ~= "AIM-9L" then if WeaponShoot ~= "weapons.missiles.AIM-7MH" and WeaponShoot ~= "AIM-9X" and WeaponShoot ~= "weapons.missiles.AIM-7F" and WeaponShoot ~= "weapons.missiles.AIM_7" then timer.scheduleFunction(CheckBase, "Sirri Island",timer.getTime() + 30) end end end end elseif Event.id == 8 and Event.initiator ~= nil then -- dead local InitiatorObject = Event.initiator local InitiatorName = InitiatorObject:getName() local InitiatorCategory = InitiatorObject:getCategory() if InitiatorName == "Sirri Island" and InitiatorCategory == 4 then timer.scheduleFunction(morte, "Sirri Island",timer.getTime() + 30) end end end world.addEventHandler(Event_Handler) Hi, If you have any doubt, just send me a message. Best regards
  17. Pleasure. If you want I can post a new function that it is more useful.
  18. Hi, Long time that I saw this file, but I thing is 28. I have changed it a lot. Open the lua file and search for the word "if base ~= 3600". Below that you are going to see the flag number.
  19. Hi @Chump, Good question. I've only tried for the runway. But I'm creating a dynamic campaign and I'll try for other objects on the airbase. But one bomb may destroy other areas of the airbase. Hi @brontolo, yes! Teste2 is the lua file for the mission. Open the misson with winrar and you will find the teste2.lua file. Best regards
  20. Hi guys, Any news on frame rate? Tks
  21. Hi guys, I've repaired my DCS and configed my monitors all over again. My problem is solved! Devs, I'm so sorry to have started this thread. Great job on the Harrier! Again sorry and best regards to all
  22. I've saw another thread about vr and ins alignment and is complete diferent from my case. Anyway, tks for the help.
  23. Do you export the mfd to other monitors? Can you share a track, please?
×
×
  • Create New...