Jump to content
Korean Random

Исходники модов spoter'a на GitHub


spoter

Recommended Posts

здравствуйте

SPOTER - заметил такую фигню

карта минск не работают стрелки (индикатор врага) ,....... раньше не обращал внимания , но только что в бою точно не сработали

включил после боя реплей всё четко пашут

 

может глянешь

Link to comment
Short link
Share on other sites

  • 2 weeks later...
1 час назад, Beliy.IV сказал:

Так что не будет задержки дамаг индикатора ?

Ответ есть тут.

 

@spoter посмотри что-то marksOnGunExtended сипет ошибки в лог в Генеральном сражении  и из-за этого мода не работает в бою кнопка LALT.

  • Upvote 1
Link to comment
Short link
Share on other sites

2 hours ago, Beliy.IV said:

Так что, не будет задержки дамаг индикатора?

Насколько я помню, @Ekspoint уже отвечал по этому поводу выше, а всякие мелкие улучшения это его тема. Но раз уж многие задаются этим вопросом, а качественно копать клиент умеют лишь единицы, попробую дать более-менее развернутый ответ.

Если я правильно копаю, то вот классы, которые отвечают за дамаг-индикаторы (раз, два). И оттуда четко понятно (раз, два, три), что анимация задана с помощью MovieClip, а не tween-скриптов. Изменить продолжительность такой анимации можно либо путем изменения количества кадров, либо путем изменения их частоты (анимация в MovieClip задается последовательностью кадров). Интерфейсом класса изменение количества кадров в рантайме (в процессе выполнения) не предусмотрено. А частота кадров вообще определяется на более высоком уровне. Вывод - изменить продолжительность анимации без костылей или добавления кадров путем редактирования соответствующего swf-файла не получится. Можно, конечно, попробовать применить костыль в виде изменения частоты кадров для всей сцены, используемой дамаг-индикаторами. Но данный подход является по своей сути термоядерным боезарядом, который затрагивает все объекты целевой сцены, поэтому сложно однозначно сказать, что еще будет затронуто такими чрезвычайно глобальными мерами. Нужно цеплять отладчик и проводить инспекцию сцены, но в данный момент у меня нет такой возможности.

from gui.Scaleform.daapi.view.battle.shared.indicators import DamageIndicatorMeta

def new_DamageIndicatorMeta_init(self, *args, **kwargs):
  result = old_DamageIndicatorMeta_init(self, *args, **kwargs)
  self.movie.stage.frameRate = self.movie.stage.frameRate / 2
  return result

old_DamageIndicatorMeta_init = DamageIndicatorMeta.__init__
DamageIndicatorMeta.__init__ = new_DamageIndicatorMeta_init

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

Edited by GPCracker
  • Upvote 1
Link to comment
Short link
Share on other sites

@GPCracker да че сложного, открыл флешку изменил частоту кадров и все

battleDamageIndicatorApp.swf тут делаем частоту 10 в итоге получаем увеличение до 14 сек

@hookMethod.overrideMethod(_DamageIndicator, 'getDuration')
def getDuration(base, self):
    return 14

 

  • Upvote 1
Link to comment
Short link
Share on other sites

1 minute ago, Ekspoint said:

Да че сложного, открыл флешку, изменил частоту кадров и все

Так товарищ вроде как пробовал провернуть сей фокус, но, насколько я понял, не прокатило. Однако я не уверен в правильности его действий. Да и вообще, редактирование файлов клиента игры порождает файловые войны между модификациями. К тому же поддержка таких модификаций требует больше ресурсов, потому как данное действие необходимо проделывать каждый патч, в котором измененный файл был затронут. Так что лично я предпочитаю пользоваться дополнительными скриптами и флешками, которые делают нужную работу с необходимыми классами и объектами в рантайме, если такое возможно, а не редактировать файлы клиента игры.

Кстати, @Ekspoint, протестируй скрипт выше, если будет возможность. По идее, если ты решил проблему исключительно изменением частоты кадров, то и мой вариант тоже должен сработать. Ну если, конечно, картошка при написании обвязки Scaleform не принимала участие в турнире рукожопов года :smile:

Link to comment
Short link
Share on other sites

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

Так товарищ вроде как пробовал провернуть сей фокус, но, насколько я понял, не прокатило. Однако я не уверен в правильности его действий. Да и вообще, редактирование файлов клиента игры порождает файловые войны между модификациями. К тому же поддержка таких модификаций требует больше ресурсов, потому как данное действие необходимо проделывать каждый патч, в котором измененный файл был затронут. Так что лично я предпочитаю пользоваться дополнительными скриптами и флешками, которые делают нужную работу с необходимыми классами и объектами в рантайме, если такое возможно, а не редактировать файлы клиента игры.

Кстати, @Ekspoint, протестируй скрипт выше, если будет возможность. По идее, если ты решил проблему исключительно изменением частоты кадров, то и мой вариант тоже должен сработать. Ну если, конечно, картошка при написании обвязки Scaleform не принимала участие в турнире рукожопов года :smile:

что то не бум бум

***   File "scripts/client/gui/Scaleform/Flash.py", line 65, in movie
*** AttributeError: '_DamageIndicator' object has no attribute 'component'

 

  • Upvote 1
Link to comment
Short link
Share on other sites

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

Есть такое... Похоже проблема в том, что Scaleform/WG не поддерживает динамическое изменение frame rate.

а ну это да, естественно :)

Link to comment
Short link
Share on other sites

  • 3 weeks later...

Hi @spoter,

I have found a problem with marks on gun extended. Open the client, and launch a training room. You will see lots of python log spam:

2018-09-03 13: 44: 38.448: ERROR: Traceback (most recent last call last):
2018-09-03 13: 44: 38.448 : ERROR: File "scripts / client / game.py", line 564, in handleKeyEvent
2018-09-03 13: 44: 38.449: ERROR: File "scripts / client / gui / InputHandler.py", line 30, in handleKeyEvent
2018-09-03 13: 44: 38.449: ERROR: File "scripts / common / Event.py", line 44, in call
2018-09-03 13: 44: 38.449: ERROR: File "hru-hru", line 809, in ĒĒ "ퟬ 薨 ܍
2018-09-03 13: 44: 38.449: ERROR: File" hru-hru ", line 1089, in setupSize
2018-09-03 13: 44: 38.449: ERROR: File" hru-hru ", line 1032, in updateObject
2018-09-03 13: 44: 38.449:ERROR: KeyError: 'Panel'

2018-09-03 13: 44: 38.652: ERROR: [EXCEPTION] (scripts / common / Event.py, 46):
Traceback (most recent call last):
File "scripts / common / Event.py", line 44, in call
File "hru-hru", line 797, in ĒĒ "ퟬ 薨 ܍
File" hru-hru ", line 1089, in setupSize
File" hru-hru ", line 1032, in updateObject
KeyError: 'Panel'

 

Can you please verify and fix this?

 

Thank you!

Link to comment
Short link
Share on other sites

Ув. Spoter, Ваш мод Тылы не работает на версии клиента 1.1.0.1, после установки мода не появляется значок настроек мода в правом нижнем углу клиента (((. Специально проверял на чистом клиенте без других модов.

Link to comment
Short link
Share on other sites

49 минут назад, Running_Person сказал:

Ув. Spoter, Ваш мод Тылы не работает на версии клиента 1.1.0.1, после установки мода не появляется значок настроек мода в правом нижнем углу клиента (((. Специально проверял на чистом клиенте без других модов.

 

не там ищешь. смотри тут - https://prnt.sc/jw1485

Link to comment
Short link
Share on other sites

  • 4 weeks later...

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