ED Team Chizh Posted November 25, 2008 ED Team Share Posted November 25, 2008 Для того чтобы по умолчанию в кабине было отключено смещение головы пилота необходимо: в файле Scripts\Aircrafts\Ka-50\Cockpit\Macro_handler.lua переписать функцию post_initialize() в виде function post_initialize() if track_is_reading() then return end dispatch_action(nil,492)--head moving off end Для тех кому это кажется сложным, прикладываю готовый измененный файл.Macro_handler.rar Единственный урок, который можно извлечь из истории, состоит в том, что люди не извлекают из истории никаких уроков. (С) Джордж Бернард Шоу Link to comment Share on other sites More sharing options...
JGr124_MUTbKA Posted November 25, 2008 Share Posted November 25, 2008 Попытался сделать более сложное действие в триггере внутри миссии (руками): trigfunc = { [1] = "if c_time_after(\"8\") then math.randomseed(os.time()); a_out_text(string.format(\"Random number is %d\", math.random(4))); mission.trigfunc[1]=''; end;", }, -- end of trigfunc Что math, что string - nil. Куда вы их запихали? JGr124 "Katze" Link to comment Share on other sites More sharing options...
Dmut Posted November 26, 2008 Share Posted November 26, 2008 нет этих пакетов в стеке миссии ps: но в патче что-нибудь придумаем... "There are five dangerous faults which may affect a general: recklessness, which leads to destruction; cowardice, which leads to capture; a hasty temper, which can be provoked by insults; a delicacy of honor which is sensitive to shame; over-solicitude for his men, which exposes him to worry and trouble." Sun Tzu [sigpic]http://forums.eagle.ru/signaturepics/sigpic2354_5.gif[/sigpic] Link to comment Share on other sites More sharing options...
Coljo Posted November 26, 2008 Share Posted November 26, 2008 Для того чтобы по умолчанию в кабине было отключено смещение головы пилота необходимо: Как-нибудь настраивается это "смещение головы"? Можно, например, настроить чтобы "смещение" было сильнее или меньше?. И как отключить смещение по (ROLL)? Чтобы в крене "обзор" не пытался как-бы выровнится по горизонту, а оставался парралельно панели всегда? Flying is for droids. Полёты - это для дроидов. Link to comment Share on other sites More sharing options...
JGr124_MUTbKA Posted November 26, 2008 Share Posted November 26, 2008 (edited) нет этих пакетов в стеке миссии ps: но в патче что-нибудь придумаем...У меня вот такой еще филосовский вопрос: К примеру, пытаюсь я добиться от миссии максимальной replayability. Добиваться этого можно методом рандомизации миссии, чтобы события каждый раз шли по-разному. Возьмем, к примеру, миссию "Курьер", и доработаем ее следующим образом: поставим не один УАЗик, а 10, все они будут неактивными, кроме одного, основного. В файл mission я дописываю кусок к концу, который будет после заполнения структуры mission стандартным образом брать, и менять координаты "основного" УАЗика на координаты одно из "неактивных", выбранного случайным образом (ну и координаты зон триггеров для УАЗика, тоже, и т.п.). В сингле примерно ясно, что произойдет. А если миссия будет мультиплеерной - то что получится? Что высылается клиентам с сервера - просто файл миссии как есть, или перепакованные структуры данных миссии, взятых из памяти после отработки скрипта mission и других, какие там есть? Edited November 26, 2008 by JGr124_MUTbKA JGr124 "Katze" Link to comment Share on other sites More sharing options...
ED Team Chizh Posted November 26, 2008 ED Team Share Posted November 26, 2008 Как-нибудь настраивается это "смещение головы"? Можно, например, настроить чтобы "смещение" было сильнее или меньше?. Нет. И как отключить смещение по (ROLL)? Чтобы в крене "обзор" не пытался как-бы выровнится по горизонту, а оставался парралельно панели всегда? http://forums.eagle.ru/showpost.php?p=576132&postcount=3591 Единственный урок, который можно извлечь из истории, состоит в том, что люди не извлекают из истории никаких уроков. (С) Джордж Бернард Шоу Link to comment Share on other sites More sharing options...
ED Team Chizh Posted November 26, 2008 ED Team Share Posted November 26, 2008 В сингле примерно ясно, что произойдет. А если миссия будет мультиплеерной - то что получится? Что высылается клиентам с сервера - просто файл миссии как есть, или перепакованные структуры данных миссии, взятых из памяти после отработки скрипта mission и других, какие там есть? Наземка считается на сервере. У клиентов "ползают" наземные фантомы. Единственный урок, который можно извлечь из истории, состоит в том, что люди не извлекают из истории никаких уроков. (С) Джордж Бернард Шоу Link to comment Share on other sites More sharing options...
Dmut Posted November 26, 2008 Share Posted November 26, 2008 В сингле примерно ясно, что произойдет. А если миссия будет мультиплеерной - то что получится? Что высылается клиентам с сервера - просто файл миссии как есть, или перепакованные структуры данных миссии, взятых из памяти после отработки скрипта mission и других, какие там есть? в сети должно быть всё нормально. настоящие объекты рождаются из миссии на сервере, на клиентах та часть миссии, что описывает объекты, игнорируется. идея рандомизировать координаты хорошА, главное не получить УАЗик стоящий на вершине Эльбруса, ЛЭПа или внутри школы ))) "There are five dangerous faults which may affect a general: recklessness, which leads to destruction; cowardice, which leads to capture; a hasty temper, which can be provoked by insults; a delicacy of honor which is sensitive to shame; over-solicitude for his men, which exposes him to worry and trouble." Sun Tzu [sigpic]http://forums.eagle.ru/signaturepics/sigpic2354_5.gif[/sigpic] Link to comment Share on other sites More sharing options...
KuSok Posted November 28, 2008 Share Posted November 28, 2008 Возможно плохо искал, но так и не нашел ответа на вопрос. Есть ли возможность включить "ноги-руки" пилота при виде из кокпита по умолчанию? Когда смотрел демки встроенные в игру - там в общем-то сидит пилот и даже двигает конечностями ) Разве что головы у него нет. Хотелось бы видеть то же самое при прохождении кампании. Link to comment Share on other sites More sharing options...
Cobra_ru Posted November 28, 2008 Share Posted November 28, 2008 (edited) Возможно плохо искал, но так и не нашел ответа на вопрос. Есть ли возможность включить "ноги-руки" пилота при виде из кокпита по умолчанию? Хотелось бы видеть то же самое при прохождении кампании. Ну ты "кекс". :) Мало того что не искал, да ещё не туда постишь. http://forums.eagle.ru/showpost.php?p=557391&postcount=15 Edited November 28, 2008 by Cobra_ru 1 Link to comment Share on other sites More sharing options...
FreemanRU Posted November 28, 2008 Author Share Posted November 28, 2008 Возможно плохо искал, но так и не нашел ответа на вопрос. Есть ли возможность включить "ноги-руки" пилота при виде из кокпита по умолчанию? Вторая страница этого топика. В самом низу. Ну ты "кекс". :) Мало того что не искал, да ещё не туда постишь. http://forums.eagle.ru/showpost.php?p=557391&postcount=15 А ты не "кекс"? Мало того, что наезжаешь, так еще и офтопишь. Как с помошью кнопки сделать отображение пилота по умолчанию? Всё сказанное автором - вымесел, и не может быть использовано как доказательство в суде. Мой блог | My blog Link to comment Share on other sites More sharing options...
Cobra_ru Posted November 28, 2008 Share Posted November 28, 2008 Вторая страница этого топика. В самом низу. А ты не "кекс"? Мало того, что наезжаешь, так еще и офтопишь. Как с помошью кнопки сделать отображение пилота по умолчанию? Не наезжал, успокойся. Не знаю с какой интонацией ты это прочитал для себя. Про по умолчанию- не обратил внимание.. Link to comment Share on other sites More sharing options...
KuSok Posted November 28, 2008 Share Posted November 28, 2008 Спасибо обоим за развернутый ответ : ) Включение пилота кнопкой для меня тоже в новинку.:thumbup: Link to comment Share on other sites More sharing options...
FreemanRU Posted November 28, 2008 Author Share Posted November 28, 2008 Вопрос: Файл options.lua ["graphics"] = { ["color"] = "32", ["heatBlr"] = 0, ["scenes"] = "medium", ["water"] = 2, ["[b][color=red]fullScreen[/color][/b]"] = false, ["visibRange"] = "Medium", ["aspect"] = 1.3333333333333, ["textures"] = 1, ["shadows"] = 2, ["display_mode"] = { ["avi"] = { ["bpp"] = 32, ["resolution"] = "640x480", ["[b][color=red]full_screen[/color][/b]"] = false, ["aspect"] = 1.333333333, ["height"] = 480, ["width"] = 640, }, -- end of ["avi"] }, -- end of ["display_mode"] ["effects"] = 3, ["lights"] = 2, ["haze"] = 1, ["terrPrld"] = "20", ["height"] = 768, ["resolution"] = "1024x768", ["civTraffic"] = 0, ["width"] = 1024, }, -- end of ["graphics"] Выделенное жирным - это умышленно сделано, или всё-таки опечатка? Всё сказанное автором - вымесел, и не может быть использовано как доказательство в суде. Мой блог | My blog Link to comment Share on other sites More sharing options...
edwardpashkov Posted December 1, 2008 Share Posted December 1, 2008 (edited) Кста, уважаемые, может пока плохо рыл, не удалось добавить виды головок НАР в список оружия... Как вариант, в warheads.lua пришлось ковырять только одну бошку (оригинальный файл рекомендую сохранить).. warheads["C_8"] = { expl_mass = 0.9, -- Warhead 3.2 kg, explosive 0.855 kg + fragments bonus other_factors = { 14.0, 14.0, 1.0 }, concrete_factors = { 5.0, 5.0, 1.0 }, concrete_obj_factor = 0.1, obj_factors = { 2.0, 2.5 }, cumulative_factor= 1.2, }; Вот это место правим... параметр cumulative_factor= 1.2, сделать на 2.0(2.3) для с-8ком...в моем виде скорее стандартная с-8 (с-8А). obj_factors = { 2.0, 2.5 }, меня еще мучает, досконально не проврил, и бетон еще сомнения.... Но судя по разговором с тем, кто с-5 и с-8 в реали юзал - сейчас с-8 приблизилось к реали судя по беседам... Проверяйте :) Edited December 1, 2008 by edwardpashkov 1 [sIGPIC][/sIGPIC] АКА =TMS= Count _ Полеты на = T M S = dedicate server На точке работает РП (РП+РПП) Набор вирпилов на вертикальную, штурмовую и истребительную авиацию со времен ВОВ и по настоящее время Комсостав и инструкторы - летавшие в горячих точках (и не только) и действующие летчики. Link to comment Share on other sites More sharing options...
centrino1500 Posted December 3, 2008 Share Posted December 3, 2008 Уважаемые разработчики, Вы бы хоть ответили чего нибудь. :) Например: "Отстань, и не должно работать...", или: "...спасибо, починим...", или: "...должно, но не будем чинить...", или: "...автор поста совершенно не умеет готовить export.lua..." :) Еще раз заранее благодарю за помощь. Link to comment Share on other sites More sharing options...
ED Team USSR_Rik Posted December 3, 2008 ED Team Share Posted December 3, 2008 Не нервничай, у тебя нет варианта "банально не хватает времени" - и это действительно так. Men may keep a sort of level of good, but no man has ever been able to keep on one level of evil. That road goes down and down. Можно держаться на одном уровне добра, но никому и никогда не удавалось удержаться на одном уровне зла. Эта дорога ведёт вниз и вниз. G.K. Chesterton DCS World 2.5: Часто задаваемые вопросы Link to comment Share on other sites More sharing options...
ED Team Alex Okean Posted December 3, 2008 ED Team Share Posted December 3, 2008 День добрый. Очень странно ведёт себя функция LoGetIndicatedAirSpeed(), по идее должна возвращать число, а возвращает nil Слегка модифицированный пример, внутри функции LuaExportAfterNextFrame(): local t = LoGetModelTime() local altBar = LoGetAltitudeAboveSeaLevel() local altRad = LoGetAltitudeAboveGroundLevel() local pitch, bank, yaw = LoGetADIPitchBankYaw() local HSI = LoGetControlPanel_HSI() local speed = LoGetIndicatedAirSpeed() socket.try(c:send(string.format("t = %.2f, alrRad = %.2f, altBar = %.2f, bank = %.2f, speed = %.2f\n", t, altRad, altBar, bank, speed))) В логе: Lua::Config::call error LuaExportAfterNextFrame:./Config/Export/Export.lua:75: bad argument #6 to 'format' (number expected, got nil) Заранее благодарю за помощь. Не все функции, доступные в горячих скалах, работают теперь правильно , это следствие исчезновения управляемых самолетов и полного перехода на новую базу в кокпите.исправить ситуацию запланировано в патче , пока предлагается следующий фикс --------------------------- Ka-50 fix -------------------------------- function satm(H)--calculate standart atmosphere parameters VelSound,Dens,T_air local PH ={-2,10.5,11.2,11.5,24.5,25.16,25.5} local K ={0.00025,-0.386248,1.2661,-0.88011,-0.170736,0.506547,-0.33585} local RG =287.039 local T1 =301.19 local RO1 =0.15072 local P1 =13031.0 local G1 =9.80665 local R1 =6371.21 local Y1 =3.322227e-3 local YH1 =0.708257e-4 local YHH1=0.304223e-5 local A1 =20.0463 local A2 =0.0341649 local h_ = H*0.001; local DH = h_- PH[1]; local Y = Y1 + DH* (YH1+ DH*YHH1/ 2.0); local X = 1000*DH*(Y1+ DH*(YH1+ DH*YHH1/3.0)/ 2.0) local Z; for i = 1,7 do DH= h_- PH[i] if DH <= 0 then break end Z = DH* K[i]* DH*DH; Y = Y+ 0.001*Z/ 6.0; X = X+ Z* DH/ 24.0; end local T = (R1/(R1+h_))*(R1/(R1+h_))/ Y; local A = math.exp(-A2*X); local RO= RO1*(T1/T)*A; A = A1*math.sqrt(math.abs(T)); if A < 295.0 then A = 295.0 elseif A > 340.4 then A = 340.4 end if RO < 0.0 then RO = 0.0 elseif RO > 0.12551 then RO = 0.12551 end local VelSound = A; local Dens = RO*G1; local T_air = T; return A, -- speed of sound RO*G1, -- air density T -- air temperature end dofile("./Scripts/Aircrafts/Ka-50/Cockpit/devices.lua") -- enumeration of cockpit devices local ADI = GetDevice(devices.ADI) local HSI = GetDevice(devices.HSI) function LoGetIndicatedAirSpeed() local vs_h,ro_h,t_h = satm(LoGetAltitudeAboveSeaLevel()) local vs_0,ro_0,t_0 = satm(0) return LoGetTrueAirSpeed() * math.sqrt(ro_h/ro_0) end function LoGetMachNumber() local vs_h,ro_h,t_h = satm(LoGetAltitudeAboveSeaLevel()) return LoGetTrueAirSpeed() / vs_h end function LoGetAngleOfAttack() return 0 --unavailable to export at current moment end function LoGetADIPitchBankYaw() return ADI:get_pitch(), ADI:get_bank(), HSI:get_heading() end function LoGetSlipBallPosition() return ADI:get_sideslip() end function LoGetVerticalVelocity() return 0 --unavailable to export at current moment end function LoGetControlPanel_HSI() return 0, -- ADF unavailable to export at current moment 0, -- RMI unavailable to export at current moment HSI:get_heading() end Link to comment Share on other sites More sharing options...
centrino1500 Posted December 3, 2008 Share Posted December 3, 2008 Огроменное спасибо, попробуем. Link to comment Share on other sites More sharing options...
centrino1500 Posted December 3, 2008 Share Posted December 3, 2008 Не нервничай, у тебя нет варианта "банально не хватает времени" - и это действительно так. Да не вопрос. Я не нервничаю, даже смайлов натыкал, что бы это как претензия не выглядело. Link to comment Share on other sites More sharing options...
FreemanRU Posted December 3, 2008 Author Share Posted December 3, 2008 Не все функции' date=' доступные [в export.lua'] в горячих скалах, работают теперь правильно , это следствие исчезновения управляемых самолетов и полного перехода на новую базу в кокпите.исправить ситуацию запланировано в патче , пока предлагается следующий фикс --------------------------- Ka-50 fix -------------------------------- function satm(H)--calculate standart atmosphere parameters VelSound,Dens,T_air local PH ={-2,10.5,11.2,11.5,24.5,25.16,25.5} local K ={0.00025,-0.386248,1.2661,-0.88011,-0.170736,0.506547,-0.33585} local RG =287.039 local T1 =301.19 local RO1 =0.15072 local P1 =13031.0 local G1 =9.80665 local R1 =6371.21 local Y1 =3.322227e-3 local YH1 =0.708257e-4 local YHH1=0.304223e-5 local A1 =20.0463 local A2 =0.0341649 local h_ = H*0.001; local DH = h_- PH[1]; local Y = Y1 + DH* (YH1+ DH*YHH1/ 2.0); local X = 1000*DH*(Y1+ DH*(YH1+ DH*YHH1/3.0)/ 2.0) local Z; for i = 1,7 do DH= h_- PH[i] if DH <= 0 then break end Z = DH* K[i]* DH*DH; Y = Y+ 0.001*Z/ 6.0; X = X+ Z* DH/ 24.0; end local T = (R1/(R1+h_))*(R1/(R1+h_))/ Y; local A = math.exp(-A2*X); local RO= RO1*(T1/T)*A; A = A1*math.sqrt(math.abs(T)); if A < 295.0 then A = 295.0 elseif A > 340.4 then A = 340.4 end if RO < 0.0 then RO = 0.0 elseif RO > 0.12551 then RO = 0.12551 end local VelSound = A; local Dens = RO*G1; local T_air = T; return A, -- speed of sound RO*G1, -- air density T -- air temperature end dofile("./Scripts/Aircrafts/Ka-50/Cockpit/devices.lua") -- enumeration of cockpit devices local ADI = GetDevice(devices.ADI) local HSI = GetDevice(devices.HSI) function LoGetIndicatedAirSpeed() local vs_h,ro_h,t_h = satm(LoGetAltitudeAboveSeaLevel()) local vs_0,ro_0,t_0 = satm(0) return LoGetTrueAirSpeed() * math.sqrt(ro_h/ro_0) end function LoGetMachNumber() local vs_h,ro_h,t_h = satm(LoGetAltitudeAboveSeaLevel()) return LoGetTrueAirSpeed() / vs_h end function LoGetAngleOfAttack() return 0 --unavailable to export at current moment end function LoGetADIPitchBankYaw() return ADI:get_pitch(), ADI:get_bank(), HSI:get_heading() end function LoGetSlipBallPosition() return ADI:get_sideslip() end function LoGetVerticalVelocity() return 0 --unavailable to export at current moment end function LoGetControlPanel_HSI() return 0, -- ADF unavailable to export at current moment 0, -- RMI unavailable to export at current moment HSI:get_heading() end Всё сказанное автором - вымесел, и не может быть использовано как доказательство в суде. Мой блог | My blog Link to comment Share on other sites More sharing options...
centrino1500 Posted December 8, 2008 Share Posted December 8, 2008 Не все функции, доступные в горячих скалах, работают теперь правильно , это следствие исчезновения управляемых самолетов и полного перехода на новую базу в кокпите.исправить ситуацию запланировано в патче , пока предлагается следующий фикс --------------------------- Ka-50 fix -------------------------------- .... День добрый. Alex O'kean, проконсультируйте пожалуйста. Теперь функция возвращает результат, но что это за результат? Судя по указанному - LoGetIndicatedAirSpeed() -- (args - 0, results - 1 (m/s)) LoGetTrueAirSpeed() -- (args - 0, results - 1 (m/s)) это метры в секунду. Но... какую скорость выдают эти функции? При показании на ИЛС в ~200 - она возвращает 0.02-0.03... чаще отрицательное значение -0.40 и т.д. Дополнительно, с этим кодом в export.lua при аварии или покидании вертолёта программа падает в корку. P.S.: Если действительно недостаёт времени, как говорит USSR_Rik, ну или лень с этим сейчас разбираться (в хорошем смысле), вместо решения этого - будем ждать тогда Большой патч. Только отпишите, пожалуйста, что это за скорости LoGetIndicatedAirSpeed и LoGetTrueAirSpeed. Link to comment Share on other sites More sharing options...
ED Team Alex Okean Posted December 9, 2008 ED Team Share Posted December 9, 2008 День добрый. Alex O'kean, проконсультируйте пожалуйста. Теперь функция возвращает результат, но что это за результат? Судя по указанному - LoGetIndicatedAirSpeed() -- (args - 0, results - 1 (m/s)) LoGetTrueAirSpeed() -- (args - 0, results - 1 (m/s)) это метры в секунду. Но... какую скорость выдают эти функции? При показании на ИЛС в ~200 - она возвращает 0.02-0.03... чаще отрицательное значение -0.40 и т.д. Дополнительно, с этим кодом в export.lua при аварии или покидании вертолёта программа падает в корку. P.S.: Если действительно недостаёт времени, как говорит USSR_Rik, ну или лень с этим сейчас разбираться (в хорошем смысле), вместо решения этого - будем ждать тогда Большой патч. Только отпишите, пожалуйста, что это за скорости LoGetIndicatedAirSpeed и LoGetTrueAirSpeed. Позвольте вам не поверить . Я вложил мой вариант использования скрипта плюс лог полета в квик старте ваш код в студию , будем разбиратьсяExport.zip Link to comment Share on other sites More sharing options...
centrino1500 Posted December 10, 2008 Share Posted December 10, 2008 Позвольте вам не поверить . Я вложил мой вариант использования скрипта плюс лог полета в квик старте ваш код в студию , будем разбираться День добрый, Alex O'kean. Действительно, Ваш вариант работает превосходно, плюс к тому переделанный вариант, где вывод перенесён из LuaExportActivityNextEvent в LuaExportAfterNextFrame и записью в сокет работает тоже прекрасно (excellent.zip). Внутри архива простейший сервер на perl, слушающий сокет. Я доволен как слон. Огромное спасибо за помощь. Мой же старый вариант, где Ваш код тупо перенесён в идущий в поставке export.lua и переделаный для вывода в файл (not-work.zip, лог прилагается) - не работает. Можете посмотреть, в общем-то можно и не смотреть наверно :) P.S.: И всё таки чем LoGetIndicatedAirSpeed от LoGetTrueAirSpeed отличается? (сложно понять - LoGetIndicatedAirSpeed получается умножением LoGetTrueAirSpeed на корень из чего-то страшного, но воздушного... :) )not-work.zipexcellent.zip Link to comment Share on other sites More sharing options...
ED Team Alex Okean Posted December 10, 2008 ED Team Share Posted December 10, 2008 (edited) День добрый, Alex O'kean. Действительно, Ваш вариант работает превосходно, плюс к тому переделанный вариант, где вывод перенесён из LuaExportActivityNextEvent в LuaExportAfterNextFrame и записью в сокет работает тоже прекрасно (excellent.zip). Внутри архива простейший сервер на perl, слушающий сокет. Я доволен как слон. Огромное спасибо за помощь. Мой же старый вариант, где Ваш код тупо перенесён в идущий в поставке export.lua и переделаный для вывода в файл (not-work.zip, лог прилагается) - не работает. Можете посмотреть, в общем-то можно и не смотреть наверно :) P.S.: И всё таки чем LoGetIndicatedAirSpeed от LoGetTrueAirSpeed отличается? (сложно понять - LoGetIndicatedAirSpeed получается умножением LoGetTrueAirSpeed на корень из чего-то страшного, но воздушного... :) ) IndicatedSpeed приборная скорость , в отличии от истинной является скорее не скоростью а мерой скоростного напора , выдается СВС расчет происходит исходя из условий равенста скоростного напора q = ro * V^2 /2 соответсвенно из равенства уравнения ro(H=0) * Vпр^2 = ro(H)*V^2 Учим матчасть P.S. в вашем варианте скрипта указано для format четыре поля , а суете ему пять : io.write(string.format("t = %.2f, alrRad = %.2f, altBar = %.2f, speed = %.2f\n", t, altRad, altBar, bank, speed)) вы пытаетесь вывести крен (bank) в поле предназначенное для скорости , соответсвенно получаем что ждем метров в секунду а получаем радианы Edited December 10, 2008 by Alex O'kean Link to comment Share on other sites More sharing options...
Recommended Posts