Jump to content
Korean Random
ktulho

Прицел (без сведения) средствами XVM

Recommended Posts

@Antoshkaaa эй, моряк, ты слишком долго плавал :heh:

Применяй форматирование, для работы макросов соотв. события указаны в шапке темы или в доках. 

Чтобы не напрягать мозг - есть готовый прицел с углами ... выкладывал по просьбе.

Установил и забыл ext_beer.gif

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

@Antoshkaaa ты же не первый раз здесь и вроде должен знать что округлением занимается XVM. типа вот {{py:sight.timeFlight%2.1f~c}} где 2 ширина поля, 1 кол-во знаков после запятой

А по 2-му... я тут пару лет ждал заказ такого макроса ) На главной отдельный скрипт с тупо одним событием и тупо одним макросом! Перекрестие. Там int на выходе и можно просто макрос писать {{py:sight.distCrosshair}}

Edited by BuSH
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites
2 часа назад, BuSH сказал:

@Antoshkaaa ты же не первый раз здесь и вроде должен знать что округлением занимается XVM. типа вот {{py:sight.timeFlight%2.1f~c}} где 2 ширина поля, 1 кол-во знаков после запятой

 

дык) Больше 4 лет не играл, за это время много добавили нового, сложно разобраться во всем этом) 

Share this post


Link to post

Short link
Share on other sites

В 1.9.1.1 у всех перестал работать {{py:sight.timeFlight}} ? 

и с "c_piercingChance" проблема, изменение цвета не происходит, отображает дефолтные

 

Edited by Antoshkaaa

Share this post


Link to post

Short link
Share on other sites
2 часа назад, Antoshkaaa сказал:

В 1.9.1.1 у всех перестал работать {{py:sight.timeFlight}} ? 

Работает. Обновлял только xvm 45-й билд.

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

Share this post


Link to post

Short link
Share on other sites
7 часов назад, Antoshkaaa сказал:

В 1.9.1.1 у всех перестал работать {{py:sight.timeFlight}} ? 

и с "c_piercingChance" проблема, изменение цвета не происходит, отображает дефолтные

если не работают макросы, сразу проверяй наличие скриптов в папке py_macro

----

конкретно по вопросу:

markerPosition.py

chancePenetration.py

----

проверил у себя - работает штатно. Правда в конфиге вместо макроса цвета на шанс используется ключ

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites
1 час назад, HEKPOMAHT сказал:

если не работают макросы, сразу проверяй наличие скриптов в папке py_macro

----

конкретно по вопросу:

markerPosition.py

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

Спасибо. Заработало. 

Share this post


Link to post

Short link
Share on other sites
15.05.2020 в 13:28, BuSH сказал:

Заменил метод _hideVehicleMarker на такой вот:

@registerEvent(AvatarInputHandler, 'setAimingMode')
def _setAimingMode(self, enable, mode):
    if mode == AIMING_MODE.TARGET_LOCK and not enable:
        resetTarget()
        as_event('ON_AUTO_AIM')

И докинуть импорт

from constants import AIMING_MODE

Этот же метод и врубает автоприцел когда enable = True

Авто в прицеле теперь выключается, остальное пашет так же. Каток за 50+ (10-20 колесо) косяков не наблюдаю.

 

Там с ивентом автоприцел в тренде. Дак вот, напоминаю, что фикс отключения автоприцела работает так же хорошо как и месяц назад. 

infoAutoAim.py

  • Upvote 2

Share this post


Link to post

Short link
Share on other sites
13 часов назад, HEKPOMAHT сказал:

@ktulho этот ещё правили.

Обновил. Сделал немного не так как @BuSH, поэтому надо проверить.

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

С пол ночи хотел пояснить что там откуда получилось и почему.

Метод автоприцела трогать не стоит а вот скорость пули источником xml я бы оставил, но доделать  нормальную загрузку 1 раз а не с каждой заряжаемой пулей. Ну ща поглядим...

 

upd

даже не догоню че тут происходит )
shellsSpeed = {shot.shell.compactDescr: int(shot.speed * 1.25) for shot in self.typeDescriptor.gun.shots}

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

Edited by BuSH

Share this post


Link to post

Short link
Share on other sites
15.05.2020 в 13:28, BuSH сказал:

Заменил метод _hideVehicleMarker на такой вот:

@registerEvent(AvatarInputHandler, 'setAimingMode')
def _setAimingMode(self, enable, mode):
    if mode == AIMING_MODE.TARGET_LOCK and not enable:
        resetTarget()
        as_event('ON_AUTO_AIM')

И докинуть импорт

from constants import AIMING_MODE

Обновил infoAutoAim.py.

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites
4 часа назад, ktulho сказал:

... надо проверить.

скатал пару боёв - старого бага нет. Если что вылезет, проинформируем ext_secret.gif

Share this post


Link to post

Short link
Share on other sites
20 часов назад, BuSH сказал:

даже не догоню че тут происходит )
shellsSpeed = {shot.shell.compactDescr: int(shot.speed * 1.25) for shot in self.typeDescriptor.gun.shots}

При входе своей техники бой, создается словарь из трех или меньше значений. Ключ словаря -  это уникальный номер снаряда, а значение - скорость снаряда.

Данный код можно записать по другому:

shellsSpeed = {}
for shot in self.typeDescriptor.gun.shots:
    shellsSpeed[shot.shell.compactDescr] = int(shot.speed * 1.25)

 

Share this post


Link to post

Short link
Share on other sites

Та естественно я уже пощупал как оно выглядит

2020-07-27 08:27:11: {18458: 1250, 18714: 1000, 50714: 1000}

в твоих скриптах таких штук не попадалось вот для меня и новинка. Вот тернарных ифэлсов... когда в каждой строке, когда несколько в строке

Share this post


Link to post

Short link
Share on other sites
29 минут назад, BuSH сказал:

в твоих скриптах таких штук не попадалось вот для меня и новинка.

Я довольно часто использую генераторы. Например в damagLog (генератор словаря):

def keyLower(_dict):
    return {key.lower(): _dict[key] for key in _dict.iterkeys()} if _dict is not None else None
damageLogConfig = {section: readyConfig(section) for section in DAMAGE_LOG_SECTIONS.SECTIONS}

Еще чаще использую для создания списков и множеств. А также в генераторах можно использовать условия:

Генератор множества:

id_xmlCtx_s = ((_xml.readInt(xmlCtx, s, 'id', 0, 65535), xmlCtx, s) for xmlCtx, s in xmlCtx_s)

Генераторы списков с условием:

self.shells[nation] = [i for i, xmlCtx, s in id_xmlCtx_s if s.readBool('improved', False)]
self.shells_stunning[nation] = [i for i, xmlCtx, s in id_xmlCtx_s if _xml.readStringOrNone(xmlCtx, s, 'stunDuration')]

 

Edited by ktulho
  • Upvote 1

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.

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...