Jump to content

Аэродромы аэропорты РП по алфавиту


yary104

Recommended Posts

Решил поместить сюда. Ибо все это делал для мустанга с его фиксированными частотами.

 

Сразу скажу - это не мод, это костыль. Ограничения - можно будет общаться не более чем с 10ю аэродромами.

10ю или своими+нейтральными или только 10ю своими - как настроите в миссиях.

Зато подобный костыль дает наконец возможность настроить голосовое (или скриптовое, с помощью биндинга) взаимодействие с РП по фиксированным последовательностям клавиш

Существует мод для формирования списка РП по алфавиту, но он неработоспособен в версиях выше 1.5.8 (видимо, разработчики переделали функцию создания подменю и самостоятельно его поправить очень сложно, по крайней мере мне, не программисту)

 

Однако покопавшись в нем, нашел полезное - можно приказать игре формировать список РП не по дальности, а по алфавиту

 

Итак, игра выключена.

Идем сюда:

..\(папка с игрой)\Scripts\UI\RadioCommandDialogPanel\Config\Common

 

нужен файл ATC.lua. Сохраним его на всякий случай. Копию переименуем в ATC_old.lua, понадобится, если что-то пойдет не так

 

В файле ищем функцию local function getATCs()

 

закомментируем внутри нее (с помощью "--[[ " и "--]]" ) блоки строчек описывающих функции

 

local neutralAirbases

local enemyCoalition (вроде как уже закомментирована в последних версиях игры)

 

блок local neutralAirbases можно не комментить, но тогда сумма своих и нейтральных аэропортов в миссии не должна превышать 10

если local neutralAirbases закомментировали - сумма своих аэропортов в миссии не должна превышать 10

 

дальше внутри local function getATCs() есть функция local function distanceSorter(lu, ru)

после ее окончания вставим новую функцию - добавим строки

 

local function callsignSorter(l, r)

 

local lcallsign = l:getCallsign()

local rcallsign = r:getCallsign()

 

return lcallsign < rcallsign

 

end

 

далее ищем строчку table.sort(atcs, distanceSorter) и закомментируем ее (поставим два дефиса вначале)

после этой строчки вставим свою

table.sort(atcs, callsignSorter)

 

В итоге в файле функция local function getATCs() будет выглядеть так (нейтральные аэропорты я закомментировал)

 

 

local function getATCs()

 

local atcs = {}

 

--[[

local neutralAirbases = coalition.getServiceProviders(coalition.side.NEUTRAL, coalition.service.ATC)

for i, airbase in pairs(neutralAirbases) do

table.insert(atcs, airbase)

end

--]]

 

local selfCoalition = data.pUnit:getCoalition()

local ourAirbases = coalition.getServiceProviders(selfCoalition, coalition.service.ATC)

for i, airbase in pairs(ourAirbases) do

table.insert(atcs, airbase)

end

 

--[[

local enemyCoalition = selfCoalition == coalition.RED and coalition.BLUE or coalition.RED

local ourAirbases = coalition.getServiceProviders(enemycoalition. coalition.service.ATC)

--print("ourAirbases size = "..table.getn(ourAirbases))

for i, airbase in pairs(ourAirbases) do

if filterAirbaseType(atc) then

table.insert(atcs, airbase)

end

end

--]]

 

local selfPoint = data.pUnit:getPosition().p

local function distanceSorter(lu, ru)

 

local lpoint = lu:getPoint()

local ldist2 = (lpoint.x - selfPoint.x) * (lpoint.x - selfPoint.x) + (lpoint.z - selfPoint.z) * (lpoint.z - selfPoint.z)

 

local rpoint = ru:getPoint()

local rdist2 = (rpoint.x - selfPoint.x) * (rpoint.x - selfPoint.x) + (rpoint.z - selfPoint.z) * (rpoint.z - selfPoint.z)

 

return ldist2 < rdist2

end

 

local function callsignSorter(l, r)

 

local lcallsign = l:getCallsign()

local rcallsign = r:getCallsign()

 

return lcallsign < rcallsign

 

end

--table.sort(atcs, distanceSorter)

table.sort(atcs, callsignSorter)

return atcs

end

 

 

 

=================================

Больше ничего в файле править не нужно

 

В редакторе миссий при создании/редактировании озаботимся "раскраской" аэродромов - выставим или не более 10 своих+нейтральных (блок функции local neutralAirbases не закомментирован) или не более 10 своих (закомментирован)

 

Миссии быстрого старта придется переделывать отдельно. Ну, если вы хотите их оставить для себя и вы смирились с идеей не более 10и аэродромов для общения.

 

В результате во всей игре список РП (он же по аглицки АТС) будет по алфавиту и либо только из аэропортов своей коалиции, либо из своих и нейтральных

Конечно, это удобно далеко не всегда. Аэропортов то много.

Вот удобно для мустанга - с его 4мя фиксированными частотами. У меня выставлены - связь с ведомым, аэродром прибытия, аэродром промежуточный (запасной), аэродром отправки. Остальные я вообще перевел в нейтральные и закомментил в файле получение их списка.

 

Для возможности сортировки аэродромов по дальности придется дефолтный ATC.lua возвращать назад

 

Интегрирование поправленного ATC.lua в миссию (со всеми путями) - к сожалению ЭФФЕКТА НЕ ДАЕТ (или я как-то неправильно старался). Обидно, да.

 

==================================

Для мустанга (а, может, и для всех ЛА) и далеких аэродромов можно читернуть - увеличить мощность бортовой радиостанции

 

в каталоге игры нам сюда (для мустанга, для других ЛА - по аналогии)

..\Mods\aircraft\P-51D\Cockpit\Scripts\VHF_Radio_SCR522A

 

файл radio.lua

 

правим первую и последнюю строчки в приведенном ниже блоке.

В первой вместо 4Е-6 ставим 1Е-7, в последней вместо 10.0 ставим 99.0

 

innerNoise = getInnerNoise(1E-7, 10)--V/m (dB S+N/N)

frequency_accuracy = 2000.0 --Hz

band_width = 12E3 --Hz (6 dB selectivity)

power = 99.0 --Wt

 

Это сильно увеличит дальнобойность нашей радиостанции. Сможем брать прибои за 150 миль.

Кто ищет - тот найдет, кто ждет - тот, @#&, дождется...

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...