Jump to content
Korean Random

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


Recommended Posts

Эта функция, в маркерах, вызовиться только один раз, в начале боя.

а дальше в ней пишешь свою функцию, а на нее ставишь колобок

я пример привел, проверь

http://www.koreanrandom.com/forum/topic/31856-динамические-макросы-в-python/?p=333885

Link to comment
Short link
Share on other sites

Py_macro это такой же макрос как и остальные макросы XVM. Он может возвращать только строку, число и т.д., в общем то что сможет обработать парсер конфига.

Link to comment
Short link
Share on other sites

Нашел способ отображения py_macro в маркерах, в ушах, на карте и т.д.

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

Стоит ли показывать данный метод? Появятся возможность реализовать что-то "похожее на читы".

 

Хотелось бы увидеть аргументированные доводы, а не +  и - .

 

Ни кто не хочет высказаться?

Попробую прояснить ситуацию. Py_macro относятся скорее к статическим макросам.

1) В маркерах, они один раз читаются в начале боя. То есть ни о каких Таймеров с обратном отсчетом или поломанных модулей речи быть не может.

2) В ушах, они обновляются в начале боя и при смене типа ушей. Поэтому удобно использовать их в ушах "altMode". При чем данные о противники будут можно получить, если он в засвете и в кругу отрисовки.

(имхо) это как нож. Кто-то режет хлеб, а кто-то людей - все зависит от того, в чьих он руках... Никто не мешает ЦА скачать чит-мод с инета и пользоваться вполне бесплатно и безнаказанно... Макросы, размещённые в этой теме, ещё не мод и, тем более, не чит. Чтобы они стали читом надо ещё приложить руки и голову - и посложнее, чем погуглить "перезарядку" и/или "поваленные дееревья" вкупе с "тундрой"... Считаю достаточным обязательное предупреждение типа "возможно чит" при публикации чего-то, по мнению автора, читового :))
Edited by Kapany3uk
Link to comment
Short link
Share on other sites

@Kapany3uk, Воспринимаю, как не против. ))

именно.

Я читами не пользуюсь. Если что-то из этой темы обозначат читом - просто сотру... Но макросами интересуюсь: давно уже играю не в танки, а в ХВМ :))

Link to comment
Short link
Share on other sites

Я читами не пользуюсь. Если что-то из этой темы обозначат читом - просто сотру...

Согласен, в любой игре есть правила и их надо придерживаться, иначе становится не интересно играть ни тем, ни другим. 

Edited by ktulho
Link to comment
Short link
Share on other sites

Попробую прояснить ситуацию. Py_macro относятся скорее к статическим макросам. 

1) В маркерах, они один раз читаются в начале боя. То есть ни о каких Таймеров с обратном отсчетом или поломанных модулей речи быть не может.

2) В ушах, они обновляются в начале боя и при смене типа ушей. Поэтому удобно использовать их в ушах "altMode". При чем данные о противники будут можно получить, если он в засвете и в кругу отрисовки.

Если так, то мне кажется, можно выкладывать, в статических данных я не вижу ничего читерского. Хотя, знание точного времени перезарядки с учетом установленного оборудования и прокачки экипажа с натяжкой можно назвать чем-то читерским.

Если уж это признается читом, то с этим нужно как то по-другому бороться. Может Макс, к примеру, запретит отдачу подобных данных в питон-макросы (если это конечно возможно, я в этом плохо понимаю), или же сама картошка пофиксит отдачу этой инфы в бою.

Link to comment
Short link
Share on other sites

 

 

давно уже играю не в танки, а в ХВМ :))
да, та же беда :ok: 
лето же, куча дел, а у некоторых ещё и каникулы :heh: 
так что сяду в танк только осенью :) 
Link to comment
Short link
Share on other sites

Хотя, знание точного времени перезарядки с учетом установленного оборудования и прокачки экипажа с натяжкой можно назвать чем-то читерским.

имхо инфа о времени перезарядки сама по себе не является читом, а вот индикация "...готов ли противник стрелять или ещё не готов" -  это 100% чит :)),

'дословно'

8. Модификация, показывающая перезарядку вражеских танков

Эта модификация добавляет информацию о перезарядке (имхо заряжен/перезаряжается) вражеских танков на миникарте, в боевом чате или в маркере над танком.

Преимущества игроков, у которых стоит данная модификация:

Даёт возможность оценивать, готов ли противник стрелять или ещё не готов. (а возможность высчитывать/засекать секунды с десятыми и сотыми долями после последнего выстрела противника в сравнении с отображаемым временем его актуальной перезарядки имхо не может быть читом, пока игроку нужно самому засекать и самому считать это время...)

Edited by Kapany3uk
Link to comment
Short link
Share on other sites

Приведу пример для маркера. Выведем короткое название танка в полоске ХП. Пример хоть бесполезный, но думаю наглядный.

В файле markersAliveNormal.xc:

"format": "{{hp}} / {{hp-max}} {{py:xvm.myInfoPanel.shortNameTank('{{name}}')}}"

В файле xvm.py:

from xvm import myInfoPanel

@xvm.export('xvm.myInfoPanel.shortNameTank', deterministic=False)
def myInfoPanel_shortNameTank(userName):
    return myInfoPanel.shortNameTank(userName)

В файле myInfoPanel.py, находящемся по пути \py_macro\xvm\:

import BigWorld

# получаем ID танка игрока, поле которого сейчас обновляется
def getVehicleID(userName):
    vehicles = BigWorld.player().arena.vehicles
    for vehicleID in vehicles:
        vehicle = vehicles.get(vehicleID)
        if userName == vehicle['name']:
            return vehicleID
    return None

# получаем танк со всеми потрохами
def typeDescriptorVehID(userName):
    vehicle = BigWorld.entity(getVehicleID(userName))
    return None if not vehicle else vehicle.typeDescriptor

# короткое название теники
def shortNameTank(userName):
    typeDescriptor = typeDescriptorVehID(userName)
    return '' if not typeDescriptor else typeDescriptor.type.shortUserString

Результат:

post-17624-0-61806100-1466543076_thumb.jpg
Edited by ktulho
  • Upvote 3
Link to comment
Short link
Share on other sites

@ktulho, Круто, спасибо:) Много новых возможностей открывается.

 

 

Тут подумалось, по идее, таким методом можно заменить макрос {{turret}}, который отталкивается только от разницы ХП у стоковой и топовой башни. Можно на всех танках определять установлено ли топ орудие или нет, то же самое про башню.

Edited by neLeax
Link to comment
Short link
Share on other sites

Приведу пример для маркера.

Выведем короткое название танка в полоске ХП. Пример хоть бесполезный, но думаю наглядный.

В файле markersAliveNormal.xc:

"format": "{{hp}} / {{hp-max}} {{py:xvm.myInfoPanel.shortNameTank('{{name}}')}}"
В файле xvm.py:

from xvm import [email protected]('xvm.myInfoPanel.shortNameTank', deterministic=False)def myInfoPanel_shortNameTank(userName):    return myInfoPanel.shortNameTank(userName)
В файле myInfoPanel.py, находящемся по пути \py_macro\xvm\:

# получаем ID танка игрока, поле которого сейчас обновляетсяdef getVehicleID(userName):    vehicles = BigWorld.player().arena.vehicles    for vehicleID in vehicles:        vehicle = vehicles.get(vehicleID)        if userName == vehicle['name']:            return vehicleID    return None# получаем танк со всеми потрохамиdef typeDescriptorVehID(userName):    vehicle = BigWorld.entity(getVehicleID(userName))    return None if not vehicle else vehicle.typeDescriptor# короткое название теникиdef shortNameTank(userName):    typeDescriptor = typeDescriptorVehID(userName)    return '' if not typeDescriptor else typeDescriptor.type.shortUserString
Результат:

Отлично :))

Link to comment
Short link
Share on other sites

@ktulho, Круто, спасибо:) Много новых возможностей открывается.

 

 

Тут подумалось, по идее, таким методом можно заменить макрос {{turret}}, который отталкивается только от разницы ХП у стоковой и топовой башни. Можно на всех танках определять установлено ли топ орудие или нет, то же самое про башню.

Можно половину макросов XVM заменить.

Можно попробовать вытянуть {{dmg-total}} из хитлога. 

Link to comment
Short link
Share on other sites

Можно половину макросов XVM заменить.

 

еще бы вывод анимации освоить! Для всяких мультиков (лампа, уничтожение, взрыв БК и т.п.)
Edited by Kapany3uk
Link to comment
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...