Jump to content
Korean Random

GPCracker

User
  • Posts

    2,827
  • Joined

  • Last visited

  • Days Won

    62

Everything posted by GPCracker

  1. У кого есть время поиграть - помониторьте логи, нужно понять, насколько версия для 0.9.5 стабильна в 0.9.6.
  2. Наводишь орудие в небо, зажимаешь правую мыши, наводишь на союзника, стреляешь. Лог в студию.
  3. Возможно. Было в вариантах, но во второй версии и так работы было много, поэтому отложил. М.б. будет, но позже. Сейчас занят AASMX. Сишный класс, с помощью которого должна осуществляться привязка, кто-то очень удачно поломал... Альтернативных вариантов без просадок ФПС пока не удалось найти.
  4. Динамические круги? Есть реализация для ДМ, но в таком виде не вариант выкладывать, нужно более-менее универсальное решение. Пока занят артоснайпингом. Времени и сил не так много, еще обстоятельства сказываются, так что работа идет довольно медленно. Пока отладка и оптимизация баллистических вычислений. У многих функций мода есть два параметра: enabled и activated. Если функция запрещена, она не может быть активирована. Подумаю.
  5. В последнем запуске ничего критичного на глаза не попалось. В предпоследнем - лагал PMod скорее всего.
  6. В работе. Пока приходится заниматься реализацией базовых вещей, в основном по части ангема, поскольку плоскости в BW реализованы просто убого, а они там нужны для корректировки точки прицеливания при выносе прицела за пределы карты - там через некоторое время кончается карта и физика там не работает, чтобы не было багов, то же самое касается и 30 м от себя - когда прицел находится близко, дискретные расчеты становятся некорректными, и прицел начинает "дрожать". Локация игрока - "особая точка функции" поворота камеры. Кто пытался "переехать прицел" - знает. Upd. Баллистичекий расчет с пересечением текстур и плоскости расчета не прокатывает. Большая вычислительная сложность. Тут нужно какое-то очень оригинальное решение... Имеется некоторая горизонтальная плоскость. При перемещении мыши точка на этой плоскости линейно перемещается. При помощи некоторого расчета, из этой точки вычисляется точка на текстурах. В оригинале это вертикальный коллижн-тест, в случае наклона камеры луч должен исходить из центра камеры. То есть определяется ближайшая к камере текстура. Что видишь - туда целишься. Но весь прикол в том, что угол наклона этого луча есть угол наклона камеры, которая должна направляться по траектории снаряда, которая зависит от точки, куда осуществляется прицеливание, для вычисления этой точки нужен этот самый тестовый луч. Короче, замкнутый цикл. Вертикальный луч не вариант, камера прыгать будет, под мост и т.д. не закинешь. Был вариант сделать расчет точки прицеливания относительно планарной точки не через луч, а через траекторию снаряда - большая вычислительная нагрузка. Нужно какое-то "относительное" решение... Есть кое-какие идеи, но проверять надо.
  7. Колобки не есть хорошо... Посмотрю что как. Вообще я не сталкивался с такой проблемой - на елке и 1390 пулеметов нет. Что касаемо артоснайпинга - для направления камеры по снаряду придется сильно переписать логику. Будет нескоро, если вообще будет.
  8. У минометной траектории большая часть пути - это взлет практически вертикально вверх и падение почти вертикально вниз. Я не говорил, что время будет одинаковым, я сказал что оно будет лишь незначительно отличаться. Можешь взять учебник школьной физики (или без него) и посчитать время при стрельбе в минометном режиме на разные расстояния. Специально качнул реплей с Т92. Параметры фугаса: 'speed': 368.0000054836273, 'gravity': 96.00000286102298, 'maxDistance': 10000.0. Считаем углы наводки при стрельбе на 50м. Разность высоты 0. Углы наводки: 1.01561524732, 88.9843847527 Первое число - нижняя (артиллерийская) траектория (прямая наводка), второе - минометный режим. Практически вертикально вверх. Для 500м, разность высот 0. 10.3796354065, 79.6203645935 Расчет по времени. Для 50м. t = D / (V0 * cos(a)) t = 7.67 сек Для 500м t = 7.54 сек Как видишь, разница во времени несущественна. До кучи максимальная высота подъема снаряда (выстрел вертикально вверх) V0^2 = 2gH (ЗСЭ) H = V0^2 / 2g H = 705м 'maxDistance': 10000.0. Снаряд долетит, если нет "потолка". Но судя по видео, его таки нет. Упреждение только для снайперского режима.
  9. Блокировка wasteShot работает только для аркадного режима. Выстрел блокируется, если маркер орудия направлен не на противника. Для стрельбы с упреждением есть снайперский режим. Решать квадратные уравнения упреждения (это без учета баллистической траектории, чисто торпедный треугольник) для всех танков, как это делает маркер упреждения - ФПС не хватит. ВГ-шные сишные формулы умеют считать аппроксимированную траекторию полета снаряда. По точкам. Мои формулы для расчета угла падения снаряда непосредственно без расчета траектории. Да и расчеты небольшие тут. Даже циклов нет, расчет по уравнению. Я об этом и говорю. Что не хватает углов. Уклоны тоже не спасают - загонял ГВТП на горку - стрельнуть на другой край карты в минометном режиме не получилось - не хватило углов. Углы 80-87 градусов нужны, скорость снаряда минимальная. По тем формулам (первая), что я выкладывал, зная баллистику снаряда, отн. высоту и планарное расстояние до цели можно посчитать углы наведения. Артиллерийский и минометный. З.Ы. Если стрельба ведется на расстояние меньше максимально возможного, то для попадания по цели всегда есть две траектории - высокая и низкая. Так что в минометном режиме не важно, кидать на 50м или на 750 - углы будут мало отличаться. Время полета снаряда - тоже. З.Ы.Ы Для таких вещей нужна арта с хорошими увн вверх и низкой скоростью снаряда - нужны меньше углы наводки. Залез на WoT Wiki - T92 +65 градусов + 15-20 холмик как раз миномет будет (сплеш что надо). У ГВТП только +48. Главное - что будет с разбросом...
  10. Модуль safeShot (cм. конфиг) - блокировка выстрелов по союзникам и трупам. Это одна из его функций. Последняя альфа Параметр прямо так и называется.
  11. Защита от выстрелов в молоко в аркадном режиме. См. патчноуты / конфиги. Ну я так сразу и подумал)
  12. В комплектации мода текстур нет. Ни о каком дефолте речи быть не может. Ты что-то делаешь не так... gui/maps/ingame/aim/deflectionMarker.dds - локация текстуры по умолчанию. Путь в конфиге прописан. Случаем не надпись "Texture not found?" Поставь размеры побольше, посмотри повнимательнее... И скрины желательно, чтобы мне не ванговать тут. З.Ы. Расчеты на угол приземления снаряда вроде норм, только прикрутить не знаю пока как... Скорее всего придется немного логику менять. З.Ы.Ы Текстуру тоже в студию. М.б. в ней проблема? Кстати, неплохо получилось с wasteShot, только вот от кочек не особо спасает - рассинхронизация клиент-сервер как всегда решает. Но по крайней мере выстрелы заведомо мимо не дает делать.
  13. Глянул по твоей просьбе) Там через получение углов наводки для стрельбы в некоторую планарную точку и полный расчет баллистической траектории по точкам (расчет положения маркера наведения - при таких углах наводки). Положение виртуального маркера - точка привязки камеры. Камера направляется по вектору маркера. И смещается назад. К реальному маркеру орудия это не привязано. У меня реализация немного другая - точка привязки камеры рассчитывается простым коллижн тестом по заранее заданному углу через некоторую планарную точку (точку на нулевой горизонтальной плоскости). Эта точка задается перемещением мыши. Такая реализация значительно проще в плане вычислений, поскольку маркер считается через последовательные коллижн тесты на аппроксимированной кривой полета снаряда ("ломаная кривая"). А в моем варианте только 1 коллижн тест. Углы возвышения орудия / приземления снаряда к горизонту можно посчитать и без полного расчета траектории. Формулы накатал, сейчас проверяю правильность. Потом буду думать, как это грамотно прикрутить к моду. "Для любителей физики и математики"
  14. Писал одно время для кейлоггера, м.б. для Ориона тоже пригодится.Модуль для передачи данных между питон-процессами. Memory mapped file, half-duplex. Быстродействие достигается подгонкой размера буфера. Для передачи данных при перехвате потока нужно создавать очередь передачи. MMap.zip
  15. А еще можешь отписаться в теме и ускорить обнову)
  16. Первая версия не очень удачная по алгоритмам. Вторая практически полностью новая будет. Upd. Есть некоторая проблема с определением pitch вектора скорости снаряда. Брать по маркеру орудия нельзя, это нестабильная обратная связь будет. Пока думаю как считать... Upd 2. Одно время была идея сделать минометный режим для артиллерии, то есть стрельба под углами более 45 градусов к горизонту. Самый нижний и самый верхний графики. Самый нижний - нормальный (настильный) режим. Самый верхний - режим миномета. А идея появилась из видео, где т92 убивает себя сама выстрелом вертикально вверх, падая назад с моста (карта Порт). Значит снаряды никуда не пропадают. Очевидный плюс - закидывает на ура. Куда хочешь. И снаряд летит сверху в ватную крышу = ваншот. Не очень очевидный, но очень существенный минус - время до цели - 8-10 секунд. За это время уехать успеет даже Т95. Выкуривать анальных деферов, которые стоят на одном месте - самое то. СТ-шек под горкой на малиновке, горку на рудниках и другие асимметричные имбовые позиции. Идея накрылась из-за нехватки УВН - для стрельбы таким навесом неоходимы УВН 80-87 вверх (почти вертикально). Ну 10-20 градусов можно горку использовать. Остального все равно не хватает. В-общем, движуха накрылась, но наработки кой-какие вроде остались. Если не удалил. М.б. оттуда получится взять часть скриптов, конкретно угла вектора скорости снаряда к горизонту при достижении точки наведения. Расчет угла стрельбы был, но он делается по-другому. Просто заново рисовать сложные формулы мне как-то лень. Разброс по высоте сильно усложняет формулы. На одном уровне все элементарно, а вот с высотой... Еще вопрос стоит в оптимизации расчетов. Синусы, арксинусы и квадратные корни считаются долго - равно падение фпс.
  17. На эксперта будет обновление. Там кое-чего допилил, значительно переделал логику. Вроде побыстрее стало работать. Пока тестирую / отлаживаю. Камеру по снаряду - подумаю, как грамотно привязать, если нормально получится, будет 3 альфа.
  18. Для тех, кто не в теме. Маркеры на миникарте создаются при помощи тех же команд, что и обычные маркеры техники. Я выкладывал уже базу. Все остальное - это логика их отображения и управления. И если возникает какой конфликт на уровне питона, в логах появляется соответствующий вы***. Не бывает в питоне вылетов без лога. К вылету самого клиента это не относится. Так что мониторьте логи.
  19. Эти "10 оленей" как ты выразилась - это один файлик. В первой версии мода файлов было 126 кажется. Кроме файлика dds есть еще и одноименный xml - он определяет границы каждого оленя и называется маппингом. Соответственно, он разделяет dds на кадры, нумеруя их слева направо, сверху вниз, построчно, с 0. Поэтому в файлике анимации (sixthsense.xml) кроме самой текстуры указывается еще и номер кадра. В секции текстур указываются все текстуры, используемые в анимации. Это служебная информация для мода - только указанные там текстуры будут загружены, а также их маппинг. В секции frames указывается последовательность показа кадров. Соответственно, в оригинале с оленями там кажется раз 8 показывается одна последовательность (лень открывать файлик) потом показывается 1 финальный кадр. В твоем варианте там показывается только 1 последний кадр. Скорость показа анимации определяется интервалом - каждые interval секунд кадр меняется. В оригинале стоит что-то типа 0.04, в твоем варианте 10.0. Если след кадра нет, то анимация заканчивается, лампочка прячется. В твоем варианте сразу после срабатывания лампочки появляется (ЕМНИП) 13 или 14 олень, 10 секунд мод катает вату, потом скрывает лампочку. В главном файле конфигурации, который рядом со скриптом, указываются пути к звуковому оповещению и к файлу анимации (sixthsense.xml). Поскольку тебе нужен по факту только один кадр, то зачем тебе 10 одинаковых? Создается dds c одной картинкой, генерится соответствующий файлик маппинга, в анимации будет только 1 нулевой кадр. Переименовывать там ничего не надо, просто файлы в папке gui/maps/ingame/AnimatedSixthSense убрать и закинуть туда другую лампочку. Все, что я выкладывал после поста со второй альфа-версией, адаптировано исключительно под нее. Это ответ на вопрос, как ставить те лампочки, что я скидывал после поста со второй версией. Специально для тебя собрал со скриптами: AnimatedSixthSenseForDasha.zip Удаляешь все хвосты от мода (скрипты, текстуры) и устанавливаешь это. Абзац выше к этому файлу не относится, тут полная сборка. Для остальных нужно еще брать скрипты из поста со второй версией. З.Ы. На синем фоне неба синюю лампочку плохо видно. Можно. Ищи параметр size или как-то так.
  20. Ну и норм, че. Значит у них был баг. Если в логе нет Traceback`ов (необработанных исключений), то смысл его скидывать? З.Ы. Как я понял, ошибку "234" они таки пофиксили.
  21. Там должна быть одна картинка. Проверял. Если не так, значит ты чего-то не так ставишь.
×
×
  • Create New...