angelsoft 52 Posted February 19, 2015 (edited) del спс тому оленю! за минусы Edited November 13, 2017 by angelsoft 20 4 Share this post Link to post Short link Share on other sites
даша 44 #253115 Posted February 19, 2015 Улучшенный таймер сведения орудия, для прицелов WoT 0.9.6. источник Автор: ? Обновлено: 16.02.2015 23:05 pp (1).jpgpp (2).jpg Главная особенность таймера сведения орудия - отображение информации в любом,используемом вами,прицеле.Выводиться информация о времени сведения,полете с наряда и разбросе. В файле конфигурации можете настроить цвет надписей и положение на экране. Установка: папку scripts в res_mods/версия клиента. extra_aiminfo-timer_svedeniya.zip мод супер!только как уменьшить шрифт ?чтоб был как на картинке по размеру как слово ready? Share this post Link to post Short link Share on other sites
angelsoft 52 #253124 Posted February 19, 2015 (edited) мод супер!только как уменьшить шрифт ?чтоб был как на картинке по размеру как слово ready? обновил шапку, тему Edited February 19, 2015 by angelsoft Share this post Link to post Short link Share on other sites
даша 44 #253179 Posted February 19, 2015 обновил шапку, тему это я уже видела!ширина высота выравнивание по центру всё делала но не уменьшается шрифт Share this post Link to post Short link Share on other sites
angelsoft 52 #253184 Posted February 19, 2015 это я уже видела!ширина высота выравнивание по центру всё делала но не уменьшается шрифт default_medium.font default_smaller.font default_small.font hpmp_panel.font system_large.font system_medium.font system_small.font system_tiny.font verdana_medium.font verdana_small.font Share this post Link to post Short link Share on other sites
ZLoy 14 #253212 Posted February 19, 2015 ток у меня координаты не меняются? Share this post Link to post Short link Share on other sites
angelsoft 52 #253268 Posted February 19, 2015 (edited) кто с питонов на ты где код кривой from debug_utils import * from PlayerEvents import g_playerEvents from constants import ARENA_PERIOD from gui.WindowsManager import g_windowsManager from AvatarInputHandler.aims import Aim import AvatarInputHandler.aims import BigWorld import ResMgr import json import os import math import Math import GUI from gui import g_guiResetters oldupdateMarkerPos = Aim.updateMarkerPos config = None infoArea = None playerVehicleID = None aimTimeRemain = None aimTimeAll = None aimFactorNow = None flyTime = None startFactor = None startTime = None deviation = None aimTimeRemaintest = None def newupdateMarkerPos(self, pos, relaxTime): global deviation global startFactor global flyTime global aimTimeRemain global aimFactorNow global infoArea global startTime global playerVehicleID global aimTimeAll global config oldupdateMarkerPos(self, pos, relaxTime) player = BigWorld.player() if config is None: return else: descr = player.vehicleTypeDescriptor if playerVehicleID is None: arena = player.arena playerVehicleID = player.playerVehicleID arena.onVehicleKilled += myOnVehicleKilled try: infoArea = TextLabel(config.get('TextArea_Style', {})) except: LOG_CURRENT_EXCEPTION() aimingStartTime, aimingStartFactor, multFactor, gunShotDispersionFactorsTurretRotation, chassisShotDispersionFactorsMovement, chassisShotDispersionFactorsRotation, aimingTime = player._PlayerAvatar__aimingInfo currTime = BigWorld.time() startFactor = aimingStartFactor startTime = aimingStartTime if currTime - aimingStartTime < 0.01 and startFactor < multFactor + 0.2: aimFactorNow = descr.gun['shotDispersionAngle'] * aimingStartFactor aimTimeAll = 0 aimTimeRemain = 0 else: aimFactorNow = descr.gun['shotDispersionAngle'] * aimingStartFactor * math.exp((aimingStartTime - currTime) / aimingTime) finishtime = math.log(aimingStartFactor / multFactor) * aimingTime + aimingStartTime aimTimeAll = math.log(aimingStartFactor / multFactor) * aimingTime aimTimeRemain = finishtime - currTime deviation = aimFactorNow * getAimDistance() flyTime = getAimDistance() / descr.shot['speed'] infoArea.setText(getFormatText()) return return Aim.updateMarkerPos = newupdateMarkerPos def getFormatText(): format = config.get('format', '') if format == '': return None else: format = str(round(aimTimeRemain, 1)).join(format.split('{{aimTimeRemain}}')) format = str(round(aimTimeAll, 1)).join(format.split('{{aimTimeAll}}')) format = str(round(aimFactorNow * 100, 2)).join(format.split('{{aimFactorNow}}')) format = str(round(deviation, 1)).join(format.split('{{deviation}}')) format = str(round(flyTime, 1)).join(format.split('{{flyTime}}')) return format return None def MYLOGLIVE(message): from messenger import MessengerEntry MessengerEntry.g_instance.gui.addClientMessage('<font color="#FF0000">' + message + '</font>') LOG_NOTE(message) def MYLOG(message, *args): LOG_NOTE(message, *args) def cleanUp(): global playerVehicleID global infoArea playerVehicleID = None player = BigWorld.player() arena = player.arena player.arena.onVehicleKilled -= myOnVehicleKilled if infoArea is not None: GUI.delRoot(infoArea.window) infoArea = None return def myOnVehicleKilled(vehicleID, *args): global playerVehicleID global infoArea if vehicleID == playerVehicleID: playerVehicleID = None GUI.delRoot(infoArea.window) infoArea = None cleanUp() return def getAimDistance(): x, y, z = BigWorld.player().gunRotator.markerInfo[0] v = BigWorld.player().getOwnVehiclePosition() - Math.Vector3(x, y, z) return int(v.length) class TextLabel(object): label = None shadow = None window = None color = '\\cFFFFFFFF;' visible = True x = 0 y = 0 hcentered = False vcentered = False mainCaliberValue = 0 def __init__(self, config): if config.get('color', False): self.color = '\\c' + config.get('color')[1:] + 'FF;' self.visible = config.get('visible', True) self.x = config.get('x', 100) self.y = config.get('y', 100) self.hcentered = config.get('hcentered', False) self.vcentered = config.get('vcentered', False) background = os.path.join('scripts', 'client', 'mods', config.get('background')) if config.get('background', '') else '' self.window = GUI.Window(background) self.window.materialFX = 'BLEND' self.window.verticalAnchor = 'TOP' self.window.horizontalAnchor = 'LEFT' self.window.horizontalPositionMode = 'PIXEL' self.window.verticalPositionMode = 'PIXEL' self.window.heightMode = 'PIXEL' self.window.widthMode = 'PIXEL' self.window.width = config.get('width', 186) self.window.height = config.get('height', 32) GUI.addRoot(self.window) self.shadow = GUI.Text('') font = config.get('font', 'default_medium.font') self.installItem(self.shadow, font) self.label = GUI.Text('') self.installItem(self.label, font) self.setText('') self.setVisible(self.visible) def installItem(self, item, font): item.font = font self.window.addChild(item) item.verticalAnchor = 'TOP' item.horizontalAnchor = 'CENTER' item.horizontalPositionMode = 'PIXEL' item.verticalPositionMode = 'PIXEL' item.position = (self.window.width / 2, 0, 1) item.colourFormatting = True item.multiline = True def setVisible(self, flag): flag = flag and self.visible self.window.visible = flag self.shadow.visible = flag self.label.visible = flag def setText(self, text, color = None): if text is None: return else: shadowText = text.replace('\\c60FF00FF;', '') self.shadow.text = '\\c000000FF;' + shadowText color = '\\c' + color + 'FF;' if color else self.color self.label.text = color + text return return def onChangeScreenResolution(): sr = GUI.screenResolution() for panel in [infoArea]: if panel is None: continue x = sr[0] / 2 - panel.window.width / 2 + panel.x if panel.hcentered else panel.x y = sr[1] / 2 - panel.window.height / 2 + panel.y if panel.vcentered else panel.y panel.window.position = (x, y, 1) return def onAfterBattle(period = ARENA_PERIOD.BATTLE, *args): if period is ARENA_PERIOD.AFTERBATTLE: cleanUp() res = ResMgr.openSection('../paths.xml') sb = res['Paths'] vals = sb.values()[0:2] for vl in vals: path = vl.asString + '/scripts/client/mods/' if os.path.isdir(path): conf_file = path + 'extra_aiminfo.json' if os.path.isfile(conf_file): with open(conf_file) as data_file: try: config = json.load(data_file) except: LOG_ERROR('Error while loading extra_aiminfo.json: %s' % sys.exc_info()[0]) finally: break g_playerEvents.onArenaPeriodChange += onAfterBattle g_guiResetters.add(onChangeScreenResolution) Edited February 19, 2015 by angelsoft Share this post Link to post Short link Share on other sites
Alexey96 0 #253371 Posted February 20, 2015 ток у меня координаты не меняются? Я тоже не могу его никуда подвинуть)) не хочет)) Share this post Link to post Short link Share on other sites
angelsoft 52 #253382 Posted February 20, 2015 меняю координаты надписей, сохраняю. эти три строчки положение не изменили.зато удалось поменять цвет и надписи сохранить с маленькой буквы. передвинуть можно только по горизонтали,править нужно "width": 600, а не как в большенстве конфигов координаты по оси "X" и "Y"!большее число сдвигает в право,меньшее соответственно в лево!а вот по вертикали никак не хочет двигаться! Share this post Link to post Short link Share on other sites
Slava7572 1,685 #253387 Posted February 20, 2015 (edited) меняю координаты надписей, сохраняю. эти три строчки положение не изменили. зато удалось поменять цвет и надписи сохранить с маленькой буквы. передвинуть можно только по горизонтали,править нужно "width": 600, а не как в большенстве конфигов координаты по оси "X" и "Y"!большее число сдвигает в право,меньшее соответственно в лево!а вот по вертикали никак не хочет двигаться! А "hcentered": true, "vcentered": true, не пробовал? Да,еще бы кто то прикрутил отключалку по видам прицела(аркада,срайпер,арта),жаль в питоне ноль:( Edited February 20, 2015 by Slava7572 Share this post Link to post Short link Share on other sites
angelsoft 52 #253388 Posted February 20, 2015 А "hcentered": true, "vcentered": true, не пробовал? я отключал их и не чего ? нужен тот кто в питоне силен выше код мода Share this post Link to post Short link Share on other sites
vizhu 69 #253407 Posted February 20, 2015 Как оставить видимым только на арте ? Share this post Link to post Short link Share on other sites
angelsoft 52 #253445 Posted February 20, 2015 Как оставить видимым только на арте ? не как, нужно найти автора данного чуда или попросить всем известного P0LIR0ID pmod пусть добавит такой функционал Share this post Link to post Short link Share on other sites
Lost 187 #254076 Posted February 22, 2015 Думаю у этого мода есть будущие, только просто необходим конфиг. 1 Share this post Link to post Short link Share on other sites
GPCracker 2,088 #254082 Posted February 23, 2015 Думаю у этого мода есть будущие, только просто необходим конфиг.Разберусь с артоснайпингом, м.б. напишу что-то подобное модулем для AASMX. 3 Share this post Link to post Short link Share on other sites
BogdanF1 51 #254362 Posted February 24, 2015 Интересный мод, но что-то конфиг не особо работает. Вправо-влево не смещает. Надо добавить тип прицела. В аркадном он не особо нужен. А в снайперском и для арты вполне сгодится. Share this post Link to post Short link Share on other sites
angelsoft 52 #255965 Posted March 2, 2015 Обновлено \ Добавлено \ Исправлено: Обновлено 02.03.2015 Share this post Link to post Short link Share on other sites
Slava7572 1,685 #255982 Posted March 2, 2015 Обновлено \ Добавлено \ Исправлено: Обновлено 02.03.2015 В шапке мод без "StrategicOnly",или можно просто в конфиг добавить?Хотя я скачал на wotsite:) Share this post Link to post Short link Share on other sites
angelsoft 52 #256070 Posted March 3, 2015 В шапке мод без "StrategicOnly",или можно просто в конфиг добавить?Хотя я скачал на wotsite:) 1 extra_aiminfo2 исправлена и работает, нету StrategicOnly 2 улучшенная и не всегда работает сведения, в ней есть StrategicOnly, но нету background Share this post Link to post Short link Share on other sites
Slava7572 1,685 #256085 Posted March 3, 2015 1 extra_aiminfo2 исправлена и работает, нету StrategicOnly 2 улучшенная и не всегда работает сведения, в ней есть StrategicOnly, но нету background Ясн,мне подложка и не нужна в общем то.Правда и в снайпере оставил бы эту фишку,жаль что нет по типу прицела настройки Share this post Link to post Short link Share on other sites