-
Posts
592 -
Joined
-
Last visited
Content Type
Profiles
Forums
Events
Everything posted by buur
-
Hello everybody. I've created a little script that automatically add additional information like frequencies or TACAN to the F10 Menu. At the moment it works for AWACS, JTACS and Tanker. Usage is simple: Load the script at the mission start after loading MIST. At the moment it works only for the blue coalition but it is easy to switch it to the other coalitions. This script works not with late activated units or units that are spawned by a script. Maybe it is helpful for somebody. Edit: 2022.06.12: added version 0.2 -- ServiceProvider v0.2: a script by buur. It provides radio and other stuff from servic provider like tanker, AWACS or FAC -- ToDo: FARPS and Carrier. JTACs with more than one target will have several entries for their own position -- Changelog: protect Tanker, AWACS again late activated units. (not shown in mist database); EWR Radars are added function infoAWACS() local msg = {} msg[#msg + 1] = "AWACS\\EWR:" msg[#msg + 1]='\n' local ServiceProvider = coalition.getServiceProviders(2 , 1 ) if next(ServiceProvider) ~= nil then do for ke,val in pairs(ServiceProvider) do if ServiceProvider[ke]:getCallsign() then callsign = ServiceProvider[ke]:getCallsign() else callsign = "N/A" end local nametype = ServiceProvider[ke]:getTypeName() msgstr = nametype.." "..callsign.." " local ServiceProvider = ServiceProvider[ke]:getGroup():getName() local groupServiceProvider = mist.getGroupData(ServiceProvider) local routeServiceProvider = mist.getGroupRoute(ServiceProvider , true) Modulation = {[0]="AM", [1]="FM"} if groupServiceProvider["frequency"] then -- get the values from lua database only when they exists msgstr = msgstr.."Freq: "..groupServiceProvider["frequency"].." "..Modulation[groupServiceProvider["modulation"]].." " local t=mist.getGroupRoute( ServiceProvider , true )[1]["task"]["params"]["tasks"] elseif routeServiceProvider[1]["task"]["params"]["tasks"][1]["id"] == "EWR" then Modulation = {[0]="AM", [1]="FM"} EWR_tasks = routeServiceProvider[1]["task"]["params"]["tasks"] for key,value in pairs(EWR_tasks) do if EWR_tasks[key]["id"] == "WrappedAction" then local EWR_frequency = EWR_tasks[key]["params"]["action"]["params"]["frequency"] local EWR_Modulation = EWR_tasks[key]["params"]["action"]["params"]["modulation"] msgstr = msgstr.."Freq: "..EWR_frequency/1000000 .." "..Modulation[EWR_Modulation] end end end msg[#msg + 1] = msgstr msg[#msg + 1]='\n' end trigger.action.outText(table.concat(msg), 30, false) end end end function infoFAC() msg = {} msg[#msg + 1] = "FAC:" msg[#msg + 1]='\n' local ServiceProvider = coalition.getServiceProviders(2 , 3 ) if next(ServiceProvider) ~= nil then do for ke,val in pairs(ServiceProvider) do local callsign = ServiceProvider[ke]:getCallsign() local curPoint = ServiceProvider[ke]:getPoint() local lat, lon, alt = coord.LOtoLL(curPoint) local grid = coord.LLtoMGRS(lat,lon) local msgstr = callsign.." ".."at Position: " ..grid.UTMZone .. ' ' .. grid.MGRSDigraph .. ' '.. grid.Easting .. ' ' .. grid.Northing.." "--..lat.." "..lon local ServiceProvider = ServiceProvider[ke]:getGroup():getName() local t=mist.getGroupRoute( ServiceProvider , true )[1]["task"]["params"]["tasks"] for key,value in pairs(t) do if (t[key]["id"] == "FAC_AttackGroup") or (t[key]["id"] == "FAC") or (t[key]["id"] == "FAC_EngageGroup") then Modulation = {[0]="AM", [1]="FM"} local FAC_frequency = (t[key]["params"]["frequency"]) local FAC_Modulation = (t[key]["params"]["modulation"]) local msgstr = msgstr.."Freq: "..FAC_frequency/1000000 .." "..Modulation[FAC_Modulation] msg[#msg + 1] = msgstr msg[#msg + 1]='\n' end end end trigger.action.outText(table.concat(msg), 30, false) end end end function infoTanker() msg = {} msg[#msg + 1] = "Tanker:" msg[#msg + 1]='\n' local ServiceProvider = coalition.getServiceProviders(2 , 2 ) if next(ServiceProvider) ~= nil then do for ke,val in pairs(ServiceProvider) do local callsign = ServiceProvider[ke]:getCallsign() local nametype = ServiceProvider[ke]:getTypeName() msgstr = nametype.." "..callsign.." " local ServiceProvider = ServiceProvider[ke]:getGroup():getName() local groupServiceProvider = mist.getGroupData(ServiceProvider) Modulation = {[0]="AM", [1]="FM"} if groupServiceProvider["frequency"] then -- get the values from lua database only when they exists msgstr = msgstr.."Freq: "..groupServiceProvider["frequency"].." "..Modulation[groupServiceProvider["modulation"]].." " local t=mist.getGroupRoute( ServiceProvider , true )[1]["task"]["params"]["tasks"] for key,value in pairs(t) do if t[key]["id"] == "WrappedAction" then local TCN_channel = t[key]["params"]["action"]["params"]["channel"] local TCN_modeChannel = t[key]["params"]["action"]["params"]["modeChannel"] local TCN_callsign = t[key]["params"]["action"]["params"]["callsign"] local msgstr = msgstr.."TCN: "..TCN_channel..TCN_modeChannel.." "..TCN_callsign msg[#msg + 1] = msgstr msg[#msg + 1]='\n' end end end end trigger.action.outText(table.concat(msg), 30, false) end end end local displayInfo = missionCommands.addSubMenuForCoalition(2, "Display Information", nil) local displayAWACS = missionCommands.addCommandForCoalition(2 , "Diplay AWACS\\EWR" , displayInfo , infoAWACS, {} ) local displayFAC = missionCommands.addCommandForCoalition(2 , "Diplay FAC" , displayInfo , infoFAC, {} ) local displayTanker = missionCommands.addCommandForCoalition(2 , "Diplay Tanker" , displayInfo , infoTanker, {} )
-
There has something changed in DCS so the former script is broken. Here an updated version function getTableSize(t) local count = 0 for _, __ in pairs(t) do count = count + 1 end return count end coalition_side = { neutral = 0, red = 1, blue = 2 } local navPoints = mist.DBs.navPoints local id_table = world.getMarkPanels( ) size = getTableSize(id_table) for i, u in pairs(navPoints) do for k, v in pairs(u) do size = getTableSize(id_table) trigger.action.textToAll( coalition_side[i], k + size, v["point"], {0,0,0, 1}, {0,0,0,0}, 11, true, "◊ "..v["callsignStr"] ) counter = size + k end size = counter end
-
there is a colon missing. Try https://www.digitalcombatsimulator.com/en/files/3321705/
-
I have the same problem, but so solution.
-
You need a throwaway marking label, but it must not be named "T00". It must simple a mark point and the naming is not relevant. This means, if any body else have made a mark point in multiplayer you do not need a second one. For the rest you need a "TNumberNumber" but the Number itself make no difference. You can name all mark points T42 for example and the system is working.
-
MOOSE - Mission Object Oriented Scripting Framework
buur replied to FlightControl's topic in Scripting Tips, Tricks & Issues
At least it is doable with the Auftrag Class. This class is in the development branch of Moose. Best is to check the Moose discord. There are more information. -
Esc key not working in multiplayer
buur replied to boyington2's topic in Controller & Assignment Bugs - General
@DArt I have LotAtc enabled -
Esc key not working in multiplayer
buur replied to boyington2's topic in Controller & Assignment Bugs - General
I use all of the mentioned mods. -
correct as is Artillery not fireing on point, when over 2.2nm away
buur replied to Limaro's topic in General Bugs
Sorry, but finally I gave no solution. What has exactly solved your problem? -
correct as is Artillery not fireing on point, when over 2.2nm away
buur replied to Limaro's topic in General Bugs
Works fine for me. I don't changed the position. Only added a game master for easy check. Remember, artillery needs up to 3 mike before they start shellig. -
Esc key not working in multiplayer
buur replied to boyington2's topic in Controller & Assignment Bugs - General
@Flappie My fix for the problem is to start first a single player mission before I go to an multiplayer server. Then, the escape key is working. -
MOOSE - Mission Object Oriented Scripting Framework
buur replied to FlightControl's topic in Scripting Tips, Tricks & Issues
Is ZON-300 working correct? Best is you ask at Moose Discord, there are more experts. -
Hello all, I've modified some confs and radio presets in the AV8B main folder. Works like a charm. But now I want to have it persistent against DCS updates, so I want to shift it to the SAVEDGAMES/DCS/Mods location. What I have to do that the files inside the Savedgames folder will be loaded instead of the core games folder?
-
Das ist ein Missionplanning tool. Ich finde es praktisch. Aber das beste ist: Man kann es 21 Tage ausprobieren https://www.combatflite.com/
-
@Aernovdo you have an overview about the different dispenser release mode? In Chuck's guide I found only P and S. But for the rest I have no idea what they are doing.
-
Have a look at DiCE - DCS Countermeasure Editor https://www.digitalcombatsimulator.com/de/files/3312680/ It make the creation of a countermeasure preset much easier. I use for flare an interval of 2 seconds and numbers 10. This gives me safety when I'm in a attack run.
-
Here a small addition to the topic: The text e.g. T00, T01, T02, .... is not so important. It must only TNumberNumber. The number itself does not influence anything in the game. So when you make the first mark to coalition write in T00 and than you can simply copy the marker. But you have to change the value for each mark! Otherwise they won't show up. The order of the target points is simply the creation order.
-
It is not so easy. It is not a simple png but it is a kind of "georeferenced" picture. The calculation for the caret should be done in one of the lua files in this folder: D:\SteamLibrary\steamapps\common\DCSWorld\Scripts\Aircrafts\_Common\Cockpit\KNEEBOARD\indicator The Map itself is in this folder: D:\SteamLibrary\steamapps\common\DCSWorld\Mods\terrains\Caucasus\RasterCharts The function of the lua files is a little pain in the ass because you don't know what's happening in the background.
-
High Digit SAMs - A community asset pack for DCS World
buur replied to Auranis's topic in DCS Modding
Wrong directory. Put the mod into C:\Users\YOURPC\Saved Games\DCS\Mods\tech -
I've tested if it is possible to do this via script. Yes it is. Here a brief example: trigger.action.markToCoalition(1000 , "T00" , {0,0,0} , 2 , true, "dummy Target") -- dummy target, will not shown in target list Tank = Group.getByName( "TANK" ) if Tank and Tank:isExist() then local Vec3 = Tank:getUnit(1):getPosition().p trigger.action.markToCoalition(1001 , -- unique id, shows up as request number "T01" , -- declare it as target for the Harrier Vec3 , 2 , true, -- read only "1. Target") -- string messsage end Tank_1 = Group.getByName( "TANK-1" ) if Tank_1 and Tank_1:isExist() then local Vec3_1 = Tank_1:getUnit(1):getPosition().p trigger.action.markToCoalition(1002 , "T02" , Vec3_1 , 2 , true, "2. Target") end
-
Thanks for the great explanation. Very good. An additional finding: In "Mark to coalition", the field value results in the record in kneeboard and the request number. Maybe good for easy communication. Also it works if you work with "more time" in the triggers.
-
@Lowlyslows good finding. I give it a try tomorrow. Thanks