Jump to content
Korean Random
goodman

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

Recommended Posts

Странно.

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

Share this post


Link to post

Short link
Share on other sites

Странно.

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

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

Share this post


Link to post

Short link
Share on other sites

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

Share this post


Link to post

Short link
Share on other sites

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

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

Share this post


Link to post

Short link
Share on other sites

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

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

 

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

Share this post


Link to post

Short link
Share on other sites

По теме по 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()

Share this post


Link to post

Short link
Share on other sites

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

Edited by H_E_K_P_O_M_A_H_T_

Share this post


Link to post

Short link
Share on other sites

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

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

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

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

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

 

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

Share this post


Link to post

Short link
Share on other sites

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

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

expectDamage.zip

Share this post


Link to post

Short link
Share on other sites

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

Share this post


Link to post

Short link
Share on other sites

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

Share this post


Link to post

Short link
Share on other sites

 

 

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

Share this post


Link to post

Short link
Share on other sites

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

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

Share this post


Link to post

Short link
Share on other sites
Подскажите, как всё-таки правильно импортировать 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

Edited by ktulho
  • Upvote 2

Share this post


Link to post

Short link
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...