Перейти к содержимому
Korean Random

ktulho

Премиум пользователь
  • Публикации

    7 051
  • Зарегистрирован

  • Посещение

  • Дней в лидерах

    183

Сообщения, опубликованные пользователем ktulho


  1. 26 минут назад, HEKPOMAHT сказал:

    Там работают только опции remove из sight.py и при включённом xvm прицеле скрывают элементы клиентского. То есть нужно отключать прицел xvm для ивента.

    Исправил. Обновил скрипт sight.py.

    • Нравится 1

  2. 1 минуту назад, Arni Ex сказал:

    Никак нет:glasses:, все скрипты, которые используются в конфиге на месте. В бою всё отображается, всё работает, только постоянно "средняя" висит, если 

    
    "format": "<font face='TruthCYR Bold' size='18'>{{py:sight.piercingChance>90?тонкая|{{py:sight.piercingChance<50?толстая|средняя}}}}</font>"}

    а если так

    
    "format": "<font face='TruthCYR Bold' size='14'>{{{py:sight.piercingChance>90?тонкая|{{py:sight.piercingChance<50?толстая|{{py:sight.piercingChance>50?средняя}}}}}}</font>"}

    то нет её.

    Здесь не хватает фигурной скобки в конце.


  3. 7 минут назад, Arni Ex сказал:

    @ktulho , можно ли добавить в chancePenetration.py текстовое отображение бронепробития: толстая; средняя; тонкая?

    Можно написать так:

    "format": "{{py:sight.piercingChance>90?тонкая|{{py:sight.piercingChance<50?толстая|средняя}}"

    Цифры подберите какие вам нравятся.

    • Нравится 1

  4. В 01.02.2019 в 01:17, HEKPOMAHT сказал:

    у меня года два в "hit-effects"/"unknown" было значение "-{{dmg}} ..." и я почему-то был уверен, что этот параметр был для резервов укрепа. Теперь он срабатывает при сбитой гусле (коклеса).

    Исправил. Запулил.

    • Нравится 1

  5. В 01.02.2019 в 01:17, HEKPOMAHT сказал:

    у меня года два в "hit-effects"/"unknown" было значение "-{{dmg}} ..." и я почему-то был уверен, что этот параметр был для резервов укрепа. Теперь он срабатывает при сбитой гусле (коклеса).

    Уверен, что hit-effects возвращает unknown?


  6. 4 минуты назад, Pensioner сказал:

    Пожалуйста, если можно  помогите, хотелось бы, чтоб показывало время до полного сведения в процентах

    А какое время считать за сто процентов? Если вы стоите на месте, это одно время, если двигаетесь прямо, это другое, если поворачиваетесь, то третье и т.д. 

    Или показывать для текущего состояния (стоим, едем и т.д.)?


  7. 40 минут назад, P.S.Enot сказал:

    косяк я нашел надо прописывать вот так по игрику "y": "{{py:sight.cameraMode=arc?-78|{{py:sight.cameraMode=sn?-18}}}}",

    Поменяете разрешение и текст опять сдвинется относительно центрального маркера.


  8. 38 минут назад, sirmax сказал:

    ок, можно.

     

    Какой вариант? Если первый, то в какой файл? utils.py? 

    Или этот вариант:

    13 часов назад, ktulho сказал:

    Ну или проверку опционально включить в сам декоратор.

     


  9. @night_dragon_on если сделать как я предлагаю, то в функциях под декораторами нужно будет писать:

    @декоратор
    def a():
        if isBLSupported:
          код

    По моему это самый короткий вариант. Ну или проверку опционально включить в сам декоратор.


  10. 50 минут назад, night_dragon_on сказал:

    Достаточно отправить тип боя:

    
    {{py:check('{{battletype-key}}')}}

    Сравнить с предполагаемым списком исключений:

    
    @xvm.export('check', deterministic=True)
    def check(battletype):
        if battletype not in ['tutorial', 'event_battles', 'bootcamp', 'epic_random', 'epic_random_training']:
            return True
        else:
            return False

    И получить результат относительно которого оперировать с тем что прописано в battleLabels/battleLabelsTemplates

    Что-то не очень понял. Как-то это кривовато. Да и зачем эту проверку взваливать на пользователя (создателя конфига)? 

    50 минут назад, night_dragon_on сказал:

    Эта проверка врятли будет нужна т.к. если режим боя battleLabels не поддерживает, например "Линия фронта" то и соответствующая секция конфига не задействуется и все что в ней прописано не должно по идее в фоне работать без возможности отображения.

    О том и речь. Ни чего не отображается, а код все равно исполняется.

     

    1 час назад, sirmax сказал:

    может просто массив с допустимыми режимами сделать? а проверку уже каждый в своем скрипте сделает, если нужно.

    Этот вариант мне тоже нравиться. Но придется в каждом скрипте прописывать что-то вроде (предположим что массив называется listBL):

    import BigWorld
    from Avatar import PlayerAvatar
    from Vehicle import Vehicle
    
    isBLSupported = True
    
    def _isBLSupported(player):
        global isBLSupported
        isBLSupported = player.arenaGuiType not in listBL
    
    @registerEvent(PlayerAvatar, 'onBecomePlayer')
    def PlayerAvatar_onBecomePlayer(self):
        _isBLSupported(self)
        
    @registerEvent(Vehicle, 'onEnterWorld')
    def Vehicle_onEnterWorld(self, prereqs):
        if self.isPlayerVehicle:
            _isBLSupported(BigWorld.player())

     


  11. Так как, большинство py_macro используется в battleLabels, предлагаю вынести в какой-либо файл переменную, которая будет возвращать True, если в данном режиме боев поддерживаются battleLabels. Пример кода:

    import BigWorld
    from Avatar import PlayerAvatar
    from Vehicle import Vehicle
    from constants import ARENA_GUI_TYPE
    
    isBLSupported = True
    
    def _isBLSupported(player):
        global isBLSupported
        isBLSupported = player.arenaGuiType not in [ARENA_GUI_TYPE.EPIC_BATTLE, ARENA_GUI_TYPE.EVENT_BATTLES]
    
    @registerEvent(PlayerAvatar, 'onBecomePlayer')
    def PlayerAvatar_onBecomePlayer(self):
        _isBLSupported(self)
        
    @registerEvent(Vehicle, 'onEnterWorld')
    def Vehicle_onEnterWorld(self, prereqs):
        if self.isPlayerVehicle:
            _isBLSupported(BigWorld.player())

    Это позволит централизовано отключать py_macro для режимов боев, в которых не поддерживаются battleLabels.

    Вопрос в каком файле разместить этот или более оптимальный код ?

    • Нравится 1

  12. Если хотите использовать макросы

    Режим прицела:
    
    {{py:sight.cameraMode}} - возвращает 'arc' - в аркадном , 'sn' - в снайперском, 'str' - в стратегическом (артиллерийском) режиме прицела;
    {{py:sight.sight_y(shift)}} - координата y, в зависимости от режима прицела, параметр 'shift' задает смещение от центра прицела.
    {{py:sight.siegeMode}} - возвращает 'siege' если техника находится в осадном режиме, иначе пусто;
    PY(ON_CAMERA_MODE) - событие срабатывает при смене режима прицела.

    То он необходим.

    • Нравится 1
×