sirmax Posted June 11, 2016 Share Posted June 11, 2016 Нет события для обновления значений макросов по таймеру, поэтому значения не будут меняться. В принципе, можно сделать, только хз как на производительность повлияет. @ Quote Link to comment Short link Share on other sites More sharing options...
ktulho Posted June 13, 2016 Share Posted June 13, 2016 Вдохновленный видеом с первой страницы данной темы, сделал так: 'Изображение' Конечно бомбу надо заменить на снаряд направленный в сторону команды с меньшим hp. Да и жирные точки надо поменять на что нибудь. 'Код' import xvm_battle.python.fragCorrelationPanel as panel def ally(): return panel.teams_totalhp[0] def enemy(): return panel.teams_totalhp[1] def color(): return panel.total_hp_color def sign(): all_dot = 40 dot_ally = int(ally() * all_dot // (ally() + enemy())) def win(): return "<font color='#00CE00'>'" + str("D") * dot_ally + "|<font color='#CE0000'>" + str("D") * (all_dot - dot_ally) + "*</font>" def lost(): return "<font color='#00CE00'>'" + str("D") * dot_ally + "<font color='#CE0000'>|" + str("D") * (all_dot - dot_ally) + "*</font>" return lost() if panel.total_hp_sign == '<' else win() def text(): return "<font face='mono' color='#FCFCFC'>%6s</font><font face='xvm'> %s </font><font face='mono' color='#FCFCFC'>%-6s</font>" % (ally(), sign(), enemy()) 4 @ Quote Link to comment Short link Share on other sites More sharing options...
Kornet_WA Posted June 13, 2016 Share Posted June 13, 2016 Может кто нибудь и инфо панель партирует. раз такая пьянка пошла. @ Quote Link to comment Short link Share on other sites More sharing options...
ktulho Posted June 13, 2016 Share Posted June 13, 2016 Может кто нибудь и инфо панель партирует. раз такая пьянка пошла. Насколько я знаю, пока нет поддержки события "наведение на цель" в battleLabelsTemplates.xc. @ Quote Link to comment Short link Share on other sites More sharing options...
goodman Posted June 13, 2016 Author Share Posted June 13, 2016 пока нет поддержки события Макс говорил что до вторника без компа.. вроде обещал ивентами заняться @ Quote Link to comment Short link Share on other sites More sharing options...
ktulho Posted June 15, 2016 Share Posted June 15, 2016 (edited) Попытаюсь оживить тему. Добавил макросы необходимые для информационной панели. 'Картинки' 'Код' import BigWorld def typeDescriptor(): target = BigWorld.target() return target.typeDescriptor if target else BigWorld.player().getVehicleAttached().typeDescriptor # Название теники def nameTank(): return typeDescriptor().type.userString # Название файла иконки теники def nameICOTank(): return typeDescriptor().name.replace(':', '-') # Время перезарядки def reloadTimeGun(): return "%.1f" % (typeDescriptor().gun['reloadTime'] * 0.8631) # Обзор def visionRadius(): return "%i" % (typeDescriptor().turret['circularVisionRadius']) # лобовая броня корпуса def armorTankHullFront(): return "%i" % (typeDescriptor().hull['primaryArmor'][0]) # боковая броня корпуса def armorTankHullSide(): return "%i" % (typeDescriptor().hull['primaryArmor'][1]) # кормовая броня корпуса def armorTankHullBack(): return "%i" % (typeDescriptor().hull['primaryArmor'][2]) # лобовая броня башни def armorTankTurretFront(): return "%i" % (typeDescriptor().turret['primaryArmor'][0]) # боковая броня башни def armorTankTurretSide(): return "%i" % (typeDescriptor().turret['primaryArmor'][1]) # кормовая броня башни def armorTankTurretBack(): return "%i" % (typeDescriptor().turret['primaryArmor'][2]) def gunShots(): return typeDescriptor().gun['shots'] # урон первым типом снаряда def damageFirstTypeShell(): return '' if len(gunShots()) < 1 else "%i" % (gunShots()[0]['shell']['damage'][0]) # урон вторым типом снаряда def damageSecondTypeShell(): return '' if len(gunShots()) < 2 else "%i" % (gunShots()[1]['shell']['damage'][0]) # урон третьим типом снаряда def damageThirdTypeShell(): return '' if len(gunShots()) < 3 else "%i" % (gunShots()[2]['shell']['damage'][0]) # пробитие первым типом снаряда def powerFirstTypeShell(): return '' if len(gunShots()) < 1 else "%i" % (gunShots()[0]['piercingPower'][0]) # пробитие вторым типом снаряда def powerSecondTypeShell(): return '' if len(gunShots()) < 2 else "%i" % (gunShots()[1]['piercingPower'][0]) # пробитие третьим типом снаряда def powerThirdTypeShell(): return '' if len(gunShots()) < 3 else "%i" % (gunShots()[2]['piercingPower'][0]) typeShell = { 'ARMOR_PIERCING': 'ББ', 'HIGH_EXPLOSIVE': 'ОФ', 'ARMOR_PIERCING_CR': 'БП', 'ARMOR_PIERCING_HE': 'ХФ', 'HOLLOW_CHARGE': 'КС', } # первый тип снаряда def firstTypeShell(): return '' if len(gunShots()) < 1 else typeShell[gunShots()[0]['shell']['kind']] # второй тип снаряда def secondTypeShell(): return '' if len(gunShots()) < 2 else typeShell[gunShots()[1]['shell']['kind']] # третий тип снаряда def thirdTypeShell(): return '' if len(gunShots()) < 3 else typeShell[gunShots()[2]['shell']['kind']] P.S. Ждем введения события "наведение на цель." И хотелось бы введение задержки показа поля, после окончания события. P.P.S. Поправил код. Оказывается не у всех танков по три типа снаряда )). Edited June 16, 2016 by ktulho 6 @ Quote Link to comment Short link Share on other sites More sharing options...
Ekspoint Posted June 15, 2016 Share Posted June 15, 2016 Попытаюсь оживить тему. Добавил макросы необходимые для информационной панели. 'Картинки' shot_151.jpg shot_152.jpg 'Код' import BigWorld from Avatar import PlayerAvatar def typeDescriptor(): player = BigWorld.player() target = BigWorld.target() if target: return target.typeDescriptor else: return player.getVehicleAttached().typeDescriptor # Название теники def nameTank(): return typeDescriptor().type.userString # Название файла иконки теники def nameICOTank(): return typeDescriptor().name.replace(':', '-') # Время перезарядки def reloadTimeGun(): return "%.1f" % (typeDescriptor().gun['reloadTime'] * 0.8631) # Обзор def visionRadius(): return "%i" % (typeDescriptor().turret['circularVisionRadius']) # лобовая броня корпуса def armorTankHullFront(): return "%i" % (typeDescriptor().hull['primaryArmor'][0]) # боковая броня корпуса def armorTankHullSide(): return "%i" % (typeDescriptor().hull['primaryArmor'][1]) # кормовая броня корпуса def armorTankHullBack(): return "%i" % (typeDescriptor().hull['primaryArmor'][2]) # лобовая броня башни def armorTankTurretFront(): return "%i" % (typeDescriptor().turret['primaryArmor'][0]) # боковая броня башни def armorTankTurretSide(): return "%i" % (typeDescriptor().turret['primaryArmor'][1]) # кормовая броня башни def armorTankTurretBack(): return "%i" % (typeDescriptor().turret['primaryArmor'][2]) # урон первым типом снаряда def damageFirstTypeShell(): return "%i" % (typeDescriptor().gun['shots'][0]['shell']['damage'][0]) # урон вторым типом снаряда def damageSecondTypeShell(): return "%i" % (typeDescriptor().gun['shots'][1]['shell']['damage'][0]) # урон третьим типом снаряда def damageThirdTypeShell(): return "%i" % (typeDescriptor().gun['shots'][2]['shell']['damage'][0]) # пробитие первым типом снаряда def powerFirstTypeShell(): return "%i" % (typeDescriptor().gun['shots'][0]['piercingPower'][0]) # пробитие вторым типом снаряда def powerSecondTypeShell(): return "%i" % (typeDescriptor().gun['shots'][1]['piercingPower'][0]) # пробитие третьим типом снаряда def powerThirdTypeShell(): return "%i" % (typeDescriptor().gun['shots'][2]['piercingPower'][0]) typeShell = { 'ARMOR_PIERCING': 'ББ', 'HIGH_EXPLOSIVE': 'ОФ', 'ARMOR_PIERCING_CR': 'БП', 'HOLLOW_CHARGE': 'КС', } # первый тип снаряда def firstTypeShell(): return typeShell[typeDescriptor().gun['shots'][0]['shell']['kind']] # второй тип снаряда def secondTypeShell(): return typeShell[typeDescriptor().gun['shots'][1]['shell']['kind']] # третий тип снаряда def thirdTypeShell(): return typeShell[typeDescriptor().gun['shots'][2]['shell']['kind']] P.S. Ждем введения события "наведение на цель." И хотелось бы введение задержки показа поля, после окончания события. при наведении def New_TargetFocus(self, entity): Old_TargetFocus(self, entity) ..... Old_TargetFocus = PlayerAvatar.targetFocus PlayerAvatar.targetFocus = New_TargetFocus @ Quote Link to comment Short link Share on other sites More sharing options...
ktulho Posted June 15, 2016 Share Posted June 15, 2016 @Ekspoint, Я так понимаю это подойдет для отдельного мода, а не для кастомизируемых текстовых полей. @ Quote Link to comment Short link Share on other sites More sharing options...
Ekspoint Posted June 15, 2016 Share Posted June 15, 2016 @Ekspoint, Я так понимаю это подойдет для отдельного мода, а не для кастомизируемых текстовых полей. ну хз, для отдельного да, пойдет могу сделать в своем стиле, в авторах укажу @ Quote Link to comment Short link Share on other sites More sharing options...
ktulho Posted June 15, 2016 Share Posted June 15, 2016 ну хз, для отдельного да, пойдет могу сделать в своем стиле, в авторах укажу , Делай, а я закрою тему по поддержке InfoPanel от Delux. И поддержку отображения характеристик своего танка по LAlt не забудь. @ Quote Link to comment Short link Share on other sites More sharing options...
Ekspoint Posted June 15, 2016 Share Posted June 15, 2016 , Делай, а я закрою тему по поддержке InfoPanel от Delux. И поддержку отображения характеристик своего танка по LAlt не забудь. ok @ Quote Link to comment Short link Share on other sites More sharing options...
ktulho Posted June 17, 2016 Share Posted June 17, 2016 Собрал параметры модулей своего танка. Все это можно вывести кастомные поля. Значения параметров относятся к танку CRUISER MK. IV. vehicle.rar 2 @ Quote Link to comment Short link Share on other sites More sharing options...
Ekspoint Posted June 17, 2016 Share Posted June 17, 2016 Собрал параметры модулей своего танка. Все это можно вывести кастомные поля. Значения параметров относятся к танку CRUISER MK. IV. vehicle.rar спс @ Quote Link to comment Short link Share on other sites More sharing options...
yan-polonov Posted June 18, 2016 Share Posted June 18, 2016 (edited) Попытаюсь оживить тему. Добавил макросы необходимые для информационной панели. Собрал параметры модулей своего танка Доброго времени суток, не подскажите как вытянуть из вашего примера "vehicle.typeDescriptor" - Скорострельность орудия (для расчета среднего дпм-ма) - Точность орудия - Мощность двигателя (есть там параметр " typeDescriptor().engine['power'] " но как его перевести в нормальный вид) - Параметры маскировки техники Если они имеются как таковые для вывода. И почему у вас в рассчете изначальное значение перезарядки орудия умножается на 0.8631 Ведь с досытателем нужно множить на 0.9 (или там еще что то учитывается) P.S: Если не секрет как вы вытащили (прологировали) все эти параметры из клиента? Заранее спасибо за уделенное время на ответ. Edited June 18, 2016 by yan-polonov @ Quote Link to comment Short link Share on other sites More sharing options...
ktulho Posted June 18, 2016 Share Posted June 18, 2016 (edited) @yan-polonov, И вам доброго. Отвечать буду отдельно на каждый вопрос, поэтому долго и наверно в нескольких постах. И почему у вас в рассчете изначальное значение перезарядки орудия умножается на 0.8631 Ведь с досытателем нужно множить на 0.9 (или там еще что то учитывается) Этот коэффициент я подогнал под показания мода InfoPanel. Кроме досылателя, есть братство и вентиляция. После вашего вопроса решил уточнить коэффициент. Взял арту с вентиляцией, досылателем и братством, коэффициент оказался равным примерно 0,8255. - Скорострельность орудия (для расчета среднего дпм-ма) # урон в минуту первым типом снаряда def damPerMinFirstShell(): k = 0.8255 time = typeDescriptor().gun['reloadTime'] * k + typeDescriptor().gun['clip'][0] * typeDescriptor().gun['clip'][1] return "%i" % (typeDescriptor().gun['clip'][0] / time * 60 * typeDescriptor().gun['shots'][0]['shell']['damage'][0]) Результат данной функции можно сделать более точным. Так как, барабанные танки не имеют досылателя, насколько я знаю, для них можно уточнить коэффициент. # урон в минуту первым типом снаряда def damPerMinFirstShell(): k = 0.8255 if typeDescriptor().gun['clip'][0] == 1 else 0.9182 time = typeDescriptor().gun['reloadTime'] * k + typeDescriptor().gun['clip'][0] * typeDescriptor().gun['clip'][1] return "%i" % (typeDescriptor().gun['clip'][0] / time * 60 * typeDescriptor().gun['shots'][0]['shell']['damage'][0]) - Точность орудия Если вы про разброс на 100м, то: typeDescriptor().gun['shotDispersionAngle'] - Мощность двигателя (есть там параметр " typeDescriptor().engine['power'] " но как его перевести в нормальный вид) Здесь мощность в ваттах. Если нужны лошадиные силы, то делите на 735,49875. Edited June 18, 2016 by ktulho 1 @ Quote Link to comment Short link Share on other sites More sharing options...
yan-polonov Posted June 18, 2016 Share Posted June 18, 2016 (edited) Отвечать буду отдельно на каждый вопрос, поэтому долго и наверно в нескольких постах Огромное вам человеческое спасибо за все разъяснения Если вы про разброс на 100м Да именно о нем Так как, барабанные танки не имеют досылателя, насколько я знаю У ат-15 на сток пухе с касетами есть досыл Вот теперь все что нужно есть, как боевой интерфейс перейден на AS3 infoPanel помрет, а тут у нас более кастомизируемый и удобный функционал пришел на замену. Edited June 18, 2016 by yan-polonov @ Quote Link to comment Short link Share on other sites More sharing options...
ktulho Posted June 18, 2016 Share Posted June 18, 2016 (edited) Пока искал про маскировку, наткнулся на следующие параметры: miscAttrs=[('crewChanceToHitFactor', 1.0), //перк Снайпер? ('maxWeight', 17100.0), ('antifragmentationLiningFactor', 1.0), ('vehicleByChassisDamageFactor', 1.0), ('engineHealthFactor', 1.0), //Фильтр «Циклон» ('crewLevelIncrease', 5), //перк братство или вентилятор? ('invisibilityFactor', 1.0), //Маскировочная сеть ('fuelTankHealthFactor', 1.0), //Заполнение баков CO2 ('ammoBayHealthFactor', 1.0), //Мокрая боеукладка? ('repairSpeedFactor', 1.0), //Ящик с инструментами? ('gunAimingTimeFactor', 0.9100000262260437), //Усиленные приводы наводки? ('additiveShotDispersionFactor', 1.0), //Стабилизатор вертикальной наводки? ('gunReloadTimeFactor', 1.0), //Досылатель? ('circularVisionRadiusFactor', 1.100000023841858), //Просветлённая оптика ('chassisHealthFactor', 1.0)] //Усиленные рессоры Edited June 18, 2016 by ktulho @ Quote Link to comment Short link Share on other sites More sharing options...
night_dragon_on Posted June 18, 2016 Share Posted June 18, 2016 Пока искал про маскировку, наткнулся на следующие параметры: Если да то мы можем их получить только для игрока - BigWorld.player(), для юнита в прицеле - BigWorld.target() данные врятли нам будут доступны @ Quote Link to comment Short link Share on other sites More sharing options...
ktulho Posted June 18, 2016 Share Posted June 18, 2016 Если да то мы можем их получить только для игрока - BigWorld.player(), для юнита в прицеле - BigWorld.target() данные врятли нам будут доступны В том то и дело, что они доступны для всех. @ Quote Link to comment Short link Share on other sites More sharing options...
Ekspoint Posted June 18, 2016 Share Posted June 18, 2016 Если да то мы можем их получить только для игрока - BigWorld.player(), для юнита в прицеле - BigWorld.target() данные врятли нам будут доступны если можно для себя то можно и для target вроде как @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.