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

Динамические макросы в Python

Рекомендуемые сообщения

Странно.

Вроде ничего НЕ трогал ....почему НЕ работает?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Странно.

Вроде ничего НЕ трогал ....почему НЕ работает?

Для начала проверьте наличие файла \res_mods\configs\xvm\py_macro\sixthSense.py. Если он есть, то прикрепите файлы battleLabels.xc, battleLabelsTemplates.xc и логи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@vizhu, для начала надо исправить ошибку в скрипте "res_mods/configs/xvm/py_macro\playerIncog.py". 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Скрипт убрал ..пока...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Скрипт убрал ..пока...

Прикрепите новый python.log.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В последнем патче НЕ работает (((

У меня все работает,смотри у себя косяки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Заработало.

Теперь с звук файлами проблема ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вроде он говорил, что скрипты уже есть

Ничего там не менялось, бери новый архив, я доложил туда скрипты, копируй в World_of_Tanks\res_mods\configs\xvm\ и проверяй

 

Вот полезная вещь XVMAimpos, только у меня с ней проблемы. Раньше прицел залипал. Сейчас попробовал - появились регулярные вылеты при загрузке боя.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

По теме по aimingposition нашел 4 варианта файла aimingposition.py

Что нужно, а что не нужно. Что важно, а что не критично.

Спецы, разъясните.

 

1. исходный вариант

http://www.koreanrandom.com/forum/topic/31856-%D0%B4%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%BC%D0%B0%D0%BA%D1%80%D0%BE%D1%81%D1%8B-%D0%B2-python/page-54?do=findComment&comment=366568

 

2. http://www.koreanrandom.com/forum/topic/31856-%D0%B4%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%BC%D0%B0%D0%BA%D1%80%D0%BE%D1%81%D1%8B-%D0%B2-python/page-59?do=findComment&comment=369932

 

одно изменение в def collideVehiclesAndStaticScene()

(1) if distDynamic < 1000000:

(2) if distDynamic < distStatic:

 

3. http://www.koreanrandom.com/forum/topic/31856-%D0%B4%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%BC%D0%B0%D0%BA%D1%80%D0%BE%D1%81%D1%8B-%D0%B2-python/page-60?do=findComment&comment=370952

 

- в объявлении

(1) # from gui.battle_control import g_sessionProvider

(3)

from constants import ARENA_PERIOD
from helpers import dependency
from skeletons.gui.battle_session import IBattleSessionProvider

 

- в def refreshList(self): изменение получения allyIdList и player

(1)

try:
    if self.__minimap is None:
     return
    player = BigWorld.player()
    allyIdList = vos_collections.AllyItemsCollection(vos_collections.VehicleInfoSortKey).ids(player.guiSessionProvider.getArenaDP())
    aimDict = {}
    for vid in allyIdList:
     # player=BigWorld.player()

(3)

try:
    if self.__minimap is None:
     return
    sessionProvider = dependency.instance(IBattleSessionProvider)
    if sessionProvider is None or sessionProvider.getArenaDP() is None:
     return
    if sessionProvider._BattleSessionProvider__arenaVisitor.getArenaPeriod()!=ARENA_PERIOD.BATTLE:
     return
    allyIdList=vos_collections.AllyItemsCollection(vos_collections.VehicleInfoSortKey).ids(sessionProvider.getArenaDP())
    aimDict={}
    for vid in allyIdList:
     player=BigWorld.player()

 

4. https://koreanrandom.com/forum/topic/31856-%D0%B4%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%BC%D0%B0%D0%BA%D1%80%D0%BE%D1%81%D1%8B-%D0%B2-python/page-56?do=findComment&comment=366998

 

- в объявлении

(1) # from gui.battle_control import g_sessionProvider
(4) from gui.battle_control import g_sessionProvider

 

- в def refreshList(self): изменение получения allyIdList и player

(1)

try:
    if self.__minimap is None:
     return
    player = BigWorld.player()
    allyIdList = vos_collections.AllyItemsCollection(vos_collections.VehicleInfoSortKey).ids(player.guiSessionProvider.getArenaDP())
    aimDict = {}
    for vid in allyIdList:
     # player=BigWorld.player()

(4)

try:
    if self.__minimap is None:
     return
    allyIdList=vos_collections.AllyItemsCollection(vos_collections.VehicleInfoSortKey).ids(g_sessionProvider.getArenaDP())
    aimDict={}
    for vid in allyIdList:
     player=BigWorld.player()

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
(редактировалось)

@ktulho, а вот интересно. можно ли сделать макрос как-нибудь для ушей "чат у игрока забанен" ? 

Изменено пользователем H_E_K_P_O_M_A_H_T_

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@ktulho, а вот интересно. можно ли сделать макрос как-нибудь для ушей "чат у игрока забанен" ? 

Очень сомневаюсь, что такая информация передается на клиент.

  • Нравится 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

подскажите, пожалуйста, непрограммисту, чтоб время не по профилю не терял :) , как мне выцепить в свой модуль текущее значение переменной totalDamage из модуля totalEfficiency?

Импортировать и присвоить, скажем, переменной b.

 

А то пробую, и чего-то портачу. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@arom, попробуйте так:

from totalEfficiency import totalDamage 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Может быть, укажете мне на ошибку?

expectDamage.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У вас расчет макроса 'DIFFExpDmg' происходит только один раз в начале боя, а надо после каждого нанесенного урона.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

это болванка, и он даже один раз не рассчитывается, не поступает totalDamage, а в каталоге xvm\py_macro создаётся файл totalEfficiency.pyc.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

это болванка, и он даже один раз не рассчитывается, не поступает totalDamage, а в каталоге xvm\py_macro создаётся файл totalEfficiency.pyc.
, почему вы решили, что не поступает? Ошибки в логах? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

, почему вы решили, что не поступает? Ошибки в логах? 

1) использую первый модуль из приложенного архива (без импорта, только поставка значений ожидаемого урона) и заряжаю в battleLabelsTemplates.xc поле на вывод ожидаемого урона, с вычислениями, инициируемыми прямо в этом поле, в виде (условно):

"updateEvent": "PY(ON_TOTAL_EFFICIENCY)",
"format": "{{py:math.sub({{py:xvm.totalDamage}}, {{py:DIFFExpDmg}})}}"

и ожидаемый урон прекрасно считается и выводится.

 

2) использую второй модуль из приложенного архива (с попыткой импорта totalDamage и произведением вычислений в самом модуле) привожу в battleLabelsTemplates.xc поле на вывод ожидаемого урона в вид (условно):

"updateEvent": "PY(ON_TOTAL_EFFICIENCY)",
"format": "{{py:DIFFExpDmg}}"

и не просто выводится какое-то неправильное значение, но вообще ничего не выводится. Пустота.

 

Подскажите, как всё-таки правильно импортировать totalDamage?...

 

tests.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
(редактировалось)
Подскажите, как всё-таки правильно импортировать totalDamage?...

, надо у  @sirmax спросить, может подскажет, почему при экспорте

from totalEfficiency import totalDamage

Возникает ошибка:

2017-03-25 22:46:39: [ERROR] Traceback (most recent call last):
  File "./res_mods/mods/packages\xvm_main\python\python_macro.py", line 128, in load_macros_lib
    execute(code, file_name, {'xvm': XvmNamespace})
  File "./res_mods/mods/packages\xvm_main\python\python_macro.py", line 112, in execute
    raise ExecutionException("{} at file '{}' line {}: {}".format(error_name, file_name, line_number, message))
ExecutionException: NameError at file 'res_mods/configs/xvm/py_macro\expectDamage2.py' line 256: name 'xvm' is not defined

P.S. по моему намек идет на @xvm.export

Изменено пользователем ktulho
  • Нравится 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×