Запустил "перехват бомберов" на втором мониторе (в Хроме). Приборы есть, но не работают и картинка подтормаживает.
Что не так сделал?
Запустил "перехват бомберов" на втором мониторе (в Хроме). Приборы есть, но не работают и картинка подтормаживает.
Что не так сделал?
С другими миссиями тоже? Антивирус отрубил? Другой браузер пробовал? Обновление AdobeFlashPlayer? Второй монитор подключен на той же видеокарте, что и Боб?
Пока только это в голову приходит.
з/ы/ Может архив был битый?
Кстати, что за миссия «перехват бомберов»? Можно по-английски название файла миссии? И какой крафт используется?
--- Добавлено ---
Будет работать, но если СТАРТ в ВОЗДУХЕ, т.е. если игрок сразу в самолете и предварительно его не выбирает. Иначе -нет, сервер стартует не имея данных о самолете игрока. Ищу решение для этого бага.
Кстати, на Сушке обороты в процентах? Не знал... (тоже будем думать).
Крайний раз редактировалось LePage; 02.12.2012 в 21:25.
a` la guerre comme a` la guerre
profile: Core i5-3570K 3.4GHz, ASUS GTX660 2Gb GDDR5, ASUS GT520 Silent 1Gb, LCD 1600x1200x32 IPS, LCD 1600x1200x32 MVA, LCD 800х600 TFT,
RAM DDR3 32GB, OCZ Vertex 4 128 Gb, OCZ Vertex 450 128 Gb, 4xHDD WD 1 Tb FAEX, RAID10, WD 2 Tb FAEX, Win 7 x64, БП FSP 600Вт
lepage.sytes.net:21000
Интересно! У меня были проблемы с этой миссией, связано с тем, что сначала разрабатывал на двухмоторниках. Но раз дергается на всех миссиях, значит здесь что-то другое.
Начнем:
В папочке DeviceLink_http (той, что в стиме ...\Steam\SteamApps\common\IL-2 Sturmovik Cliffs of Dove) лежит файл index.html - открой его для редактирования блокнотом или чем еще.
Внутри есть код вида:строчка 'Altitude=Get&AH=Get&Velocity=Get&Variometer=Get&Tahometer=Get&Kompass=Get' набор ключ/значение, по принципу прибор=команда&прибор=команда&прибор=команда&прибор=командаКод HTML:<body bgcolor="#000000" onLoad=""> <script language="Javascript"> setInterval("servRequest('Altitude=Get&AH=Get&Velocity=Get&Variometer=Get&Tahometer=Get&Kompass=Get', 80)",80) // здесь устанавливается интервал опроса, 80 - 12 раз в секунду // 40 - 25 раз в секунду, 160 - 6 раз в секунду - чем меньше интервал тем больше нагрузка - увеличьте интервал, если приборы "лагают" </script>
попробуй запустить не все приборы, а по-одному, сократив строчку до одного набора ключ/значение.
Например setInterval("servRequest('AH=Get', 80)",80) - будет только авиагоризонт. И следи за кавычками и апострофами, должныбыть именно так.
Если без дерганья значит прибор работает.
По очереди:
setInterval("servRequest('Altitude=Get', 80)",80)
setInterval("servRequest('AH=Get', 80)",80)
setInterval("servRequest('Velocity=Get', 80)",80)
setInterval("servRequest('Variometer=Get', 80)",80)
setInterval("servRequest('Tahometer=Get', 80)",80)
setInterval("servRequest('Kompass=Get', 80)",80)
в общем перебери эти варианты. Вычислим прибор, будем смотреть дальше.
Кстати, модов нет? Другой браузер не пробовал? И какая версия Хрома?
--- Добавлено ---
Известная проблема. Связана со сжатыми сроками разработки. Дело в том, что объект самолет отдает значения в тех единицах измерения и только тем приборам которые на нем установлены. Это накладывает ограничения на скин панели, она уже не может быть универсальной (проблема футов/метров/миль/километров). Нужно делать несколько - под каждый тип самолета свою, процесс довольно долгий. Цель же тестирования отбкатать принцип взаимодействия, обозначить круг устройств, найти узкие места браузерной технологии. Это на первом этапе. Дальше, конечно это просто так не оставлю. Есть два пути - либо делать универсальную самонастраивающуюся, либо индивидуальную. Но можно и так и так. Скины же можно будет выбирать. Это только вопрос времени.
Крайний раз редактировалось LePage; 03.12.2012 в 00:31.
a` la guerre comme a` la guerre
profile: Core i5-3570K 3.4GHz, ASUS GTX660 2Gb GDDR5, ASUS GT520 Silent 1Gb, LCD 1600x1200x32 IPS, LCD 1600x1200x32 MVA, LCD 800х600 TFT,
RAM DDR3 32GB, OCZ Vertex 4 128 Gb, OCZ Vertex 450 128 Gb, 4xHDD WD 1 Tb FAEX, RAID10, WD 2 Tb FAEX, Win 7 x64, БП FSP 600Вт
lepage.sytes.net:21000
Пришлось обойти вышеперечисленные ограничения (для универсальности) взяв значения не из кабины, т.е. не из раздела Instrumentation, а из раздела Parameters, т.е. где сама игра считает, а не где показывает, так-что эта панель точнее...
Кусочек кода - в комментах все видно
Код HTML:{ case "Altitude": //double i_IAlt = curPlaner.getParameter(part.ParameterTypes.I_Altitude, -1); // не на всех типах работает и тоже футы/метры (будем думать) double i_IAlt = curPlaner.getParameter(part.ParameterTypes.Z_AltitudeMSL, -1); Indicators["Altitude"] = i_IAlt; break; case "Velocity": //double i_IAS = curPlaner.getParameter(part.ParameterTypes.I_VelocityIAS, -1); // выдает в завистмости от типа километры/мили (будем думать) double i_IAS = curPlaner.getParameter(part.ParameterTypes.Z_VelocityIAS, 0)*3.2; Indicators["Velocity"] = i_IAS; break; case "AH": double i_Roll = curPlaner.getParameter(part.ParameterTypes.Z_Orientation, 2); //на самолетах имеющих АГ часто врет и не все имеют АГ double i_Pitch = curPlaner.getParameter(part.ParameterTypes.Z_Orientation, 1); Indicators["AH"] = i_Roll.ToString() + "_" + i_Pitch.ToString(); break; case "Tahometer": double i_RPM = curPlaner.getParameter(part.ParameterTypes.I_EngineRPM, 0); // только для первого двигателя (пока) Indicators["Tahometer"] = i_RPM; break; case "Variometer": //double i_Climb = curPlaner.getParameter(part.ParameterTypes.I_Variometer,-1); // тоже от типа зависит футы/метры double i_Climb = curPlaner.getParameter(part.ParameterTypes.Z_VelocityTAS, 2); Indicators["Variometer"] = i_Climb; break; case "Kompass": double i_kurs_accept = curPlaner.getParameter(part.ParameterTypes.I_Peilzeiger,-1); //double i_kurs_real = curPlaner.getParameter(part.ParameterTypes.I_MagneticCompass, -1); double i_kurs_real = curPlaner.getParameter(part.ParameterTypes.Z_Orientation, 0); // Компасы тож разные бывают i_kurs_real = -1 * i_kurs_real +90 ; Indicators["Kompass"] = i_kurs_accept.ToString() + "_" + i_kurs_real.ToString(); break; default: break;
a` la guerre comme a` la guerre
profile: Core i5-3570K 3.4GHz, ASUS GTX660 2Gb GDDR5, ASUS GT520 Silent 1Gb, LCD 1600x1200x32 IPS, LCD 1600x1200x32 MVA, LCD 800х600 TFT,
RAM DDR3 32GB, OCZ Vertex 4 128 Gb, OCZ Vertex 450 128 Gb, 4xHDD WD 1 Tb FAEX, RAID10, WD 2 Tb FAEX, Win 7 x64, БП FSP 600Вт
lepage.sytes.net:21000
Это сделать довольно легко используя событие "Игрок сел в самолет". К сожалению не взял флешку сегодня с файлами, поэтому примерное решение. Суть в том, что как только игрок "садится" в новый самолет - переменная принимает его значение.
Еще код посмотрел , в методе OnTickGame() идет постоянное и вредное сканирование/определение самолета игрока. Если сделать как выше - будет только снятие и отправка параметров. Ну и какой-то режим паузы нужно предусмотреть, т.е. если игрок не в самолете или он разбился останавливать передачу данных.Код:using maddox.game; using maddox.game.world; public class Mission : AMission { // В этой переменной будем хранить самолет игрока(только для оффлайна, для онлайна нужно будет создавать список таких переменных на каждого игрока) AiAircraft PlayerPlane; public override void OnPlaceEnter(Player player, AiActor actor, int placeIndex) { base.OnPlaceEnter(player, actor, placeIndex); if (actor != null) { if (actor is AiAircraft) { PlayerPlane = (AiAircraft)actor; } } } // В дальнейшем используем PlayerPlane(аналогично curPlane) для снятия параметров. }
Для сети будет словарь с игроками и самолетами вида Dictonary<Player, AiAircraft> . Серверу отправляем конкретные данные(объект самолет) подключившегося игрока.
Вот тут сделано управление(вроде) для IPad - http://www.sukhoi.ru/forum/showthrea...=1#post1889018
Пасиб, глянул, там есть ссылка на вот что:
https://play.google.com/store/apps/d...WFsc2NyZWVuIl0.
предлагают через нее организовать... надо будет глянуть. Это, типа, дополнительного дисплея в системе. Короче, надо поковырять...
Жизнь - игра, но, зато какая графика!
Спасибо! Буду пробовать. Сервер придется немного переписать, он у меня стартует уже с полученным готовым объектом, надо будет сделать, чтоб стартовал, а потом получал игрока или самолет игрока, проверял запрос на валидность (в условиях локальной сети будет немного лишнего кода, придется проверять Боб сервер он или нет). Изначально делал неправильно.
Не подскажете ли где можно найти подробное описание объетов (классов) Боба? OnPlaceEnter - трактовка для меня неоднозначная, английский плохо знаю...
--- Добавлено ---
Пока не знаю, но тоже этого хочу. Если не напрямую, то через виртуальный джой как-то так.
Крайний раз редактировалось LePage; 03.12.2012 в 10:15.
a` la guerre comme a` la guerre
profile: Core i5-3570K 3.4GHz, ASUS GTX660 2Gb GDDR5, ASUS GT520 Silent 1Gb, LCD 1600x1200x32 IPS, LCD 1600x1200x32 MVA, LCD 800х600 TFT,
RAM DDR3 32GB, OCZ Vertex 4 128 Gb, OCZ Vertex 450 128 Gb, 4xHDD WD 1 Tb FAEX, RAID10, WD 2 Tb FAEX, Win 7 x64, БП FSP 600Вт
lepage.sytes.net:21000
Нет, такого описания нет. Но практически все вопросы, возникающие при изучении c# + боб с нуля есть здесь
Есть еще подборка примеров, которая мне очень помогла - http://forum.1cpublishing.eu/showthread.php?t=26523
Спасибо! Сделал по твоему примеру - вроде работает! Самолеты можно менять... Но я пошел чуточку дальше и передал серверу не самолет, а всю хост миссию. Теперь серверу видны все Актеры. Возможностей миллион.
Наконец-то можно будет делать обучалки стрельбе, бомбометанию, посадке с моментальными подсказками (голосовыми), реализовать слепую посадку на любом типе, да хоть радар повесить. Боб теперь может быть всепогодным 7/24.
Можно будет проекты с альтернативной историей создавать... Да все можно..
p\s\ Да полноте вам, парни, счас реально можно в эту виртуальную жизнь вмешиваться... насколько фантазии хватит, реальность мозг домыслитсмотрели-ж на квадратики и ниче
![]()
Крайний раз редактировалось LePage; 05.12.2012 в 19:42.
a` la guerre comme a` la guerre
profile: Core i5-3570K 3.4GHz, ASUS GTX660 2Gb GDDR5, ASUS GT520 Silent 1Gb, LCD 1600x1200x32 IPS, LCD 1600x1200x32 MVA, LCD 800х600 TFT,
RAM DDR3 32GB, OCZ Vertex 4 128 Gb, OCZ Vertex 450 128 Gb, 4xHDD WD 1 Tb FAEX, RAID10, WD 2 Tb FAEX, Win 7 x64, БП FSP 600Вт
lepage.sytes.net:21000
LePage что с разработкой? Как продвигается?