-
Posts
7,774 -
Joined
-
Last visited
-
Days Won
237
Everything posted by StranikS_Scan
-
Улучшенная система прицеливания / Advanced Aiming System
StranikS_Scan replied to GPCracker's topic in Mods and Software
Разрешаю, запаковый и выкладывай. -
Улучшенная система прицеливания / Advanced Aiming System
StranikS_Scan replied to GPCracker's topic in Mods and Software
Поправлю. Там нет исходников, а декомпилировать его версию и копаться в декомпилированном коде я не буду, это долго. Исправил, перезалил - тыц. -
Улучшенная система прицеливания / Advanced Aiming System
StranikS_Scan replied to GPCracker's topic in Mods and Software
Надо. Перезалил. -
Улучшенная система прицеливания / Advanced Aiming System
StranikS_Scan replied to GPCracker's topic in Mods and Software
Обновлено для клиента 1.10.1.3 Скачать -
А забыл, там же дополнительные круги есть. Тогда смотри как нужно: 1. Добавляем два новых параметра в конфиг - коэф. видимости игрока стоя и в движении, например, PlayerVisibilityStill и PlayerVisibilityMoving 2. В конфиг пользователь вставляет один круг или два круга, как ему хочется, вот с такими макросами (синтаксис макросов XVM я не знаю, потому напишу свободно): "distance": {50 + (400 - 50)*PlayerVisibilityMoving}, где 50 это радиус круга рентгена, 400 - это обзор танка врага, вводимый пользователем "distance": {50 + (400 - 50)*PlayerVisibilityStill} 3. При входе в бой считаешь коэф. видимости для танка игрока. Это можно сделать через __getInvisibilityValues. Там на выходе будет вот такая штука (А, B), где A.current и A.atShot - это коэф. незаметности в % для движущегося танка: текущая незаметность и в момент выстрела, ну а B.current и B.atShot - для стоячего танка. В данном случае получается PlayerVisibilityMoving = 1 - A.current/100 и PlayerVisibilityStill = 1 - B.current/100 В результате получаем модификацию, которая позволяет вывести круг засвета своего танка либо стоячего, либо движущегося, либо оба круга вместе вывести, при статически заданном обзоре танка противника. А так как сей расчет - крайне приближенный из-за того, что обзор задаем вручную статически, то можно использовать приближенную, но более простую в записи, формулу: "distance": {50 + 400*PlayerVisibilityMoving} "distance": {50 + 400*PlayerVisibilityStill} С ней даже лучше станет, т.к. она дает загрубление в сторону раннего оповещения.
-
Мод "Эмулятор сервера World of Tanks".
StranikS_Scan replied to Dragon armor's topic in Modding General Discussion
Если мне не изменяет память, картошка использует до 32 слоев, то есть индексация 1...32. Вроде для корпуса до 32 слоев, а для башни до 16 слоев. Но могу соврать, так как не помню точно. -
Мод "Эмулятор сервера World of Tanks".
StranikS_Scan replied to Dragon armor's topic in Modding General Discussion
Да, такая броня есть и пердически встречается, т.к. без неё не всегда можно сделать целостное заброневое пространство. Что касается слоев в коллижене, то у них есть набор свойств, относящихся к механике снарядов. Например у каждого слоя есть вот такие свойства: <materials> <armor_1> <vehicleDamageFactor> 1.0 </vehicleDamageFactor> <useArmorHomogenization> true </useArmorHomogenization> <useHitAngle> true </useHitAngle> <useAntifragmentationLining> true </useAntifragmentationLining> <mayRicochet> true </mayRicochet> <collideOnceOnly> false </collideOnceOnly> <checkCaliberForRichet> true </checkCaliberForRichet> <checkCaliberForHitAngleNorm> true </checkCaliberForHitAngleNorm> </armor_1> Обращаем внимание на первый параметр vehicleDamageFactor - это и есть атрибут заброневого пространства. Все слои у кого он равен 1.0 - это слои образующие заброневое пространство. Их пробитие приводит к расчету урона по танку. Все эти свойства доступны и через пайтон. Поискать код с ними может так - тыц. Это кстати позволяет пилить моды на анализ бронепробития, например для аимов. Вполне может быть. Либо это косячок у Мастера Моделей в его коде расшифровке havok-файлов, либо именно так ВГ и задумано. Скажу по своему опыту многолетнего изучения механики игры, что там таких "странных" на первый взгляд коллиженов не мало. Ну в этом и разница между игроком, который лупит по визуальной модели, думая что она и есть настоящая и игроком, который изучил коллижены и потому стреляет согласно им )))) Напиши Мастеру Моделей, спроси. Может даст бесплатно доступ, как коллеге-мододелу, чтоб взнос не платить. Что касается вопроса - есть ли различие между havok-коллиженами в клиенте и ими же на сервере - то я склонен думать, что либо нет, либо эти различия не относятся к рассматриваемой механике, а касаются только программной реализации. Почему? Ну потому что у танков клиент-серверная технология. Нет ни какого смысла делать расчеты точнее или подробнее той инфы, которая будет отправлена игроку. В противном случае либо игрок начнет видеть, что его мир отличается мира сервера, либо сервер будет попусту загружен ненужными объёмами данных или ненужными вычислениями, результаты которых будут просто нивелироваться при отправке данных игроку. Вот например кодирование точки попадания. Вот тут я разбирался с координатами попадания. Это номера сегментов модели, коих берется 256 по ширине и по высоте. Такое кодирование означает округление до 1/256. Возникает сразу вопрос, нужно ли на сервере делать расчеты с большей точностью, если игрок в итоге увидит результат с таким округлением? Тут еще стоит поспрашивать Мастера Моделей какие он вносит правки в их отображение. Он ведь может при раскодировки немного вносить свои правки чтоб сделать красивую и понятную визуализацию. -
Мод "Эмулятор сервера World of Tanks".
StranikS_Scan replied to Dragon armor's topic in Modding General Discussion
Коллижены можешь посмотреть - тут. Там хорошо виден принцип реализации у картошки. Про механику пробития у картошки можешь почитать - тут (устарело немного) и еще тут в первом посте. Отвечая на твой вопрос о рубках и уроне - у картошки есть слои, которые помечены как слои контроля попадания снаряды в заброневое пространство. Если снаряд такой слой пробивает, то срабатывает флаг попадания в заброневое пространство и включается расчет урона по танку. Чтобы не было "дырок" в танках картошка часто примеяет слои мембраны с толщиной 0 мм, задача которых исключительно контролировать попадание снаряды в заброневое пространство. Например такой слой часто присутствует в башне танка, где закрывает пространство между орудием и краями отверстия башни. Если интересует кодовая часть, то в клиенте игры есть код работы с коллиженами, он в некотором малом роде дублирует серверную часть, т.к. часть неважных проверок и перерасчетов клиент делает сам простреливая коллижены через Collide модели. Ты можешь для начала глянуть вот это. Сам мод вот тут. -
Мод "Эмулятор сервера World of Tanks".
StranikS_Scan replied to Dragon armor's topic in Modding General Discussion
Коллижены бронирования и механика их пробития и урона снарядами разных типов. -
Мод "Эмулятор сервера World of Tanks".
StranikS_Scan replied to Dragon armor's topic in Modding General Discussion
Что мешает использовать механику пробитий ВГ? -
[ЗАКАЗ] Необходимо написать мод для игры world of tanks
StranikS_Scan replied to sanek593's topic in Paid Work
Мы тут тоже не приглашали тебя клоунские темы создавать. Но как видишь никто не против и тебя никуда не гоним. Наоборот даже. Готовы тебе помочь за скромное вознаграждение )))) Ну ОК, удачи в поисках )))) -
[ЗАКАЗ] Необходимо написать мод для игры world of tanks
StranikS_Scan replied to sanek593's topic in Paid Work
Давай бро пиши забисплатно, а мы пока кино посмотрим -
[ЗАКАЗ] Необходимо написать мод для игры world of tanks
StranikS_Scan replied to sanek593's topic in Paid Work
Ох уж эти "сам не могу, но как я знаю....". Дружище, как я знаю платить 2к деревянных за такое - только нас тут смешить. Кидай 2к зелени и тогда посмотрим. -
[ЗАКАЗ] Необходимо написать мод для игры world of tanks
StranikS_Scan replied to sanek593's topic in Paid Work
Тоже поржал))) -
self.minimapCirclesData = { 'vehCD': descr.type.compactDescr, 'is_full_crew': self.is_full_crew, 'base_commander_skill': self.base_commander_skill, 'base_radioman_skill': self.base_radioman_skill, 'base_loaders_skill': self.base_loaders_skill, 'view_distance_vehicle': self.view_distance_vehicle, 'view_brothers_in_arms': self.brothers_in_arms, 'view_stereoscope': self.stereoscope, 'view_ventilation': self.ventilation, 'view_coated_optics': self.coated_optics, 'view_rammer': self.rammer, 'view_consumable': self.consumable, 'view_commander_eagleEye': self.commander_eagleEye, 'view_radioman_finder': self.radioman_finder, 'view_radioman_inventor': self.radioman_inventor, 'view_camouflage': self.camouflage, 'artillery_range': artillery_range, 'shell_range': shell_range, 'base_gun_reload_time': float("{0:.3f}".format(descr.gun.reloadTime)), 'base_radio_distance': descr.radio.distance, 'commander_sixthSense': self.commander_sixthSense, } Всё передается в виде исходных компонентов формулы. А значит подменить можно только их. Но это сразу становится весьма не тривиальной задачей. Так подправить параметры выше чтоб внутри флэшки получился нужный радиус круга. Короче в таком виде это мышиная возня. Не понятно зачем так сделано.
-
Но ты можешь наверно сделать замену кругов. Типа те круги обзора что в xvm предназначены для показа обзора своего танка превратить в круги засвета. Для этого достаточно в питоновой части XVM расчеты кругов подменить. ЗЫ: Обычно людям нуно либо круги своего обзора, либо круги своего засвета. Все вместе совместить вряд ли можно, каша будет. А так получается нормально.
-
Он их в своей голове находит, когда обострение. Но сообщить об этом не может, иначе родственники упекут в соответствующее учреждение.
-
Нээ, нам название топика прочитать достаточно)))
-
Декомпиляция через WOT-UnDec.exe у мну нормально распаковывает xml. Решил проверить вручную в Орионе. Версия из шапки темы. Скопировал папку c:\Games\World_of_Tanks\res\packages\scripts.pkg\scripts\item_defs\vehicles\sweden\components из pkg-архива на диск D:\ жмякнул на папку правой клавишей мышки и выбрал PjOrion - Unpack XML-files. Все ОК отработало, без проблем.