-
Posts
316 -
Joined
-
Last visited
Content Type
Profiles
Forums
Events
Everything posted by Bruce_D
-
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
-
Hi, Do you use more then one monitor? If yes, how many? Can you share your configuration? Tks
-
-
AI instantly reacts to ARH missile launch
Bruce_D replied to Arctic Fox's topic in Aircraft AI Bugs (Non-Combined Arms)
Before the last patch it was impossible to hit an ACE plane in BVR. Now we can do that! -
AI instantly reacts to ARH missile launch
Bruce_D replied to Arctic Fox's topic in Aircraft AI Bugs (Non-Combined Arms)
Totally, it is the most important problem to be solved IMHO! -
Check this: AI instantly reacts to ARH missile launch - AI Bugs (Non-Combined Arms) - ED Forums (eagle.ru)
-
AI instantly reacts to ARH missile launch
Bruce_D replied to Arctic Fox's topic in Aircraft AI Bugs (Non-Combined Arms)
They fixed some AI behavior, but not this, not even mentioned -
AI instantly reacts to ARH missile launch
Bruce_D replied to Arctic Fox's topic in Aircraft AI Bugs (Non-Combined Arms)
New Patch, same problem! Tacview-20210423-103253-DCS-Phoenix.zip.acmi -
AI instantly reacts to ARH missile launch
Bruce_D replied to Arctic Fox's topic in Aircraft AI Bugs (Non-Combined Arms)
My track and tacview is with Phoenix -
AI instantly reacts to ARH missile launch
Bruce_D replied to Arctic Fox's topic in Aircraft AI Bugs (Non-Combined Arms)
+1 Tacview-20210414-174749-DCS-Phoenix.zip.acmi TWS.trk -
Hahahaha April's fool
-
Look the date
-
Hi, And what error message are you receiving?
-
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
-
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
-
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
-
@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
-
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
-
Pleasure. If you want I can post a new function that it is more useful.
-
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.
-
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
-
reported Frame Rate Stutters While Powered On
Bruce_D replied to Solid84's topic in Bugs and Problems
Hi guys, Any news on frame rate? Tks -
Start moving and the warning will disappear.
-
Just for note, I did a quick test and you can use the code 1111 for the GBU-54. I don't know if it is a bug or not.