Jump to content
Korean Random
kharlashkin

[Заказ] Обратная связь или ForceFeedback

Recommended Posts

Ты же понимаешь, что мы не просто должны показать игре, что накидка подключена. Но еще и реально перенаправить все скрипты на твой геймпад. Короче нужно забить на все эти длл и писать через питон.

Я себе представляю так:

1. Подменяем объект в инициализации

class VibroManager:
   def __init__(self):
      #self.__vibrationObject = BigWorld.WGVibration() меняем на
      self.__vibrationObject = GamePadVibration()

2. Создаем этот класс со всеми используемыми методами, не забывая про их параметры

class GamePadVibration:
   def reset(self):
      pass
   def connect(self):
      pass
   def setGain(self, gain):
      pass
   def createEffect(self):
      pass
   def loadEffectFromFile(self, effectHandle, fileName):
      pass
   def cloneEffect(sourceEffectHandle), sourceEffectPriority, selfVibrationObject, sourceEffectGroup):
      pass
   def setEffectGain(vibroEffectHandle, effectGain):
      pass
   def getEffectLength(handle):
      pass
   def deleteEffect(handle):
      pass
   def startEffect(handle, effectsSettingsCount):
      pass
   def stopEffect(handle):
      pass

3. Постепенно заполняем эти функции чем-нибудь осмысленным )))

4. Какие-то методы, вероятно, можно будет оставить из класса BigWorld.WGVibration

 

Если согласен, двигаться в этом направлении то:

Поставь себе питон 2.6.1 (если еще не стоит, нужна именно эта версия). И проверь, есть ли у тебя загрузчик модов:

  • ...\World_of_Tanks\res_mods\0.8.9\scripts\client\CameraNode.pyc
  • ...\World_of_Tanks\res_mods\0.8.9\scripts\client\mods\__init__.pyc
Edited by inj3ct0r

Share this post


Link to post

Short link
Share on other sites

Короче нужно забить на все эти длл и писать через питон.

Во-во, только хотел написать.

  • ...\World_of_Tanks\res_mods\0.8.9\scripts\client\CameraNode.pyc
  • ...\World_of_Tanks\res_mods\0.8.9\scripts\client\mods\__init__.pyc

Рекомендую пользоваться XPM.

Share this post


Link to post

Short link
Share on other sites

 

 

Рекомендую пользоваться XPM

Sirmax у тебя навороченный загрузчик, неплохо бы сначала разобраться как пользоваться классами Singleton,EventHook, и методами RegisterEvent,OverrideMethod - похоже эти вещи могут пригодиться.

Share this post


Link to post

Short link
Share on other sites

Sirmax у тебя навороченный загрузчик, неплохо бы сначала разобраться как пользоваться классами Singleton,EventHook, и методами RegisterEvent,OverrideMethod - похоже эти вещи могут пригодиться.

А их никто не заставляет использовать, это вспомогательные классы.

 

А метода всего два:

- RegisterEvent добавляет вызов своего метода до/после вызова оригинального, при этом оригинальные методы не трогаются.

- OverrideMethod заменяет оригинальный

 

Плюс, необходимо сделать заголовок мода (версия и т.д.)

 

Например, минимальный мод будет такой - создаешь папку mods/example, в ней __init__.py:

# MOD INFO (mandatory)
XPM_MOD_VERSION = "0.0.1"
XPM_MOD_URL = "http://mod.example.com"
XPM_MOD_UPDATE_URL = "http://update.mod.example.com"
XPM_GAME_VERSIONS = ["0.8.9","0.8.10"]


from gui.mods.xpm import *

# event handlers (entry points)

def onEnterWorld(self, *args):
  log(">onEnterWorld")

def onLeaveWorld(self, *args):
  log(">onLeaveWorld")


# Register events
def _RegisterEvents():
 from Avatar import PlayerAvatar
 RegisterEvent(PlayerAvatar, 'onEnterWorld', onEnterWorld)
 RegisterEvent(PlayerAvatar, 'onLeaveWorld', onLeaveWorld)

BigWorld.callback(0.001, _RegisterEvents) # wait until base classes initialized
Какие методы тебе нужно переопределять, такие и прописываешь в RegisterEvents, хотя в вашем случае, наверно больше подойдет OverrideMethod. Да это и не особо важно, можно и так и так сделать. Edited by sirmax
  • Upvote 2

Share this post


Link to post

Short link
Share on other sites

Спасибо, sirmax удобные методы, работают ли они с конструктором?

...
from Avatar import PlayerAvatar
RegisterEvent(PlayerAvatar, 'onEnterWorld', __init__)
#или так:
RegisterEvent(PlayerAvatar, 'onEnterWorld', PlayerAvatar._PlayerAvatar__init__)
Edited by inj3ct0r

Share this post


Link to post

Short link
Share on other sites

работают ли они с конструктором?

да, только RegisterEvent(PlayerAvatar, '__init__', myinit)

можешь посмотреть как сделано в xvmstat

Edited by sirmax
  • Upvote 2

Share this post


Link to post

Short link
Share on other sites

Не могу въехать. Добавил такой мод, подгружается через загрузчик sirmax:

...
def myVibroManagerInit(self):
    print 'in VibroManager.__init__'
    
def myPlayerAvatarInit(self):
    print 'in PlayerAvatar.__init__'
    
# Register events
def _RegisterEvents():
    from Vibroeffects.VibroManager import VibroManager
    RegisterEvent(VibroManager, '__init__', myVibroManagerInit)
    from Avatar import PlayerAvatar
    RegisterEvent(PlayerAvatar, '__init__', myPlayerAvatarInit)
...

Т.е. пытаюсь влезть в конструкторы классов VibroManager и PlayerAvatar. В PlayerAvatar вваливаюсь без проблем, а вот в VibroManager не получается.

 

Объект VibroManager создается в файле game.pyc так:

try:
   import Vibroeffects
   Vibroeffects.VibroManager.g_instance = Vibroeffects.VibroManager.VibroManager()
   print 'VibroManager constructor executed'
   Vibroeffects.VibroManager.g_instance.connect()
   print 'VibroManager.connect() executed'

И по логам видно, что этот объект создается

...
LoadMod: CDP
VibroManager constructor executed
VibroManager.connect() executed
[NOTE] (scripts/client/post_processing/__init__.py, 273): The quality = 4 was selected.
in PlayerAvatar.__init__

По идее перед VibroManager constructor executed должна быть надпись in VibroManager.__init__ но ее нет. Будем пробовать дальше.

Edited by inj3ct0r

Share this post


Link to post

Short link
Share on other sites
...
LoadMod: CDP
VibroManager constructor executed
VibroManager.connect() executed
[NOTE] (scripts/client/post_processing/__init__.py, 273): The quality = 4 was selected.
in PlayerAvatar.__init__

По идее перед VibroManager constructor executed должна быть надпись in VibroManager.__init__ но ее нет. Будем пробовать дальше.

Скорей всего, Vibroeffects.VibroManager.g_instance создался раньше, чем вызвался RegisterEvent. Попробуй "RegisterEvent(VibroManager..." вынести в корень. Если не будет конфликта импорта, то так даже лучше.

  • Upvote 2

Share this post


Link to post

Short link
Share on other sites

Sirmax как всегда оказался прав. Спасибо все заработало.

А как работает BigWorld.callback(0.001, RegisterEvents)?

Share this post


Link to post

Short link
Share on other sites

Sirmax как всегда оказался прав. Спасибо все заработало.

А как работает BigWorld.callback(0.001, RegisterEvents)?

Это просто таймер.

Share this post


Link to post

Short link
Share on other sites

Доброе время суток! Я смотрю - дела идут как то у Вас ;)

 

Показывал код программисту знакомому (жаль что к python не имеет никакого отношения). Просмотрев всё, показал мне вот что - очень много эффектов вызываются через OnceController. Можно вместо неё попробовать вызывать вот тот код который умеет "жжужать джойстиком" (дословно). Всё остальное (которое не относися к этой функции) попробовать вырезать из кода, запаковать обратно в .pyc и попробовать так запустить - мне кажется что в этом рациональное звено есть.

 

Учитывая, что кодить на Вашем уровне я не могу - буду пробовать, а что - интересно :)

Edited by kharlashkin

Share this post


Link to post

Short link
Share on other sites

В общем я создал тот класс о котором писал раньше (class GamePadVibration). И забил туда вызов всех методов из оригинального класса. Изменились только 3:

def connect(self): #Этот метод вызывается каждые 10с для проверки связи с накидкой
log_ms('VibrationObject.connect()')
return True #Говорим что всегда подключена
    
def startEffect(self, handle, effectsSettingsCount):
    #Сюда можно вставить код на включение вибратора геймпада
    return
        
def stopEffect(self, handle):
    #Сюда можно вставить код на выключение вибратора геймпада
    return

На все методы GamePadVibration я повесил лог, по которому видно, какой бардак шлётся в бедные накидочки. Или они просто с первого раза не понимают.

Прошу прощения, спойлер просто огромен. Я специально его оставил без изменений чтобы было понятно насколько все плохо. В нем всего около 20 секунд боя и 5 виброэффектов.

/------------------------------------------------------------------------------\
BigWorld Release Client (compiled at 16:29:33 Oct 18 2013) starting on Fri Dec 20 02:41:47 2013
Checking ./res_mods/0.8.9: mods found
[XPM] preloader gui.Scaleform.locale
[XPM] Working dir: ./res_mods/0.8.9/scripts/client/gui/mods
[XPM] Loading mod: gpvibromanager 0.0.1 ([email protected])
[XPM] Loading mod: xvmstat 1.0.2 (http://www.modxvm.com/)
LoadMod: log_HouseBurnLight_FIX
02:41:49.570: VibrationObject.__init__()
02:41:49.570: VibrationObject.connect()
[NOTE] (scripts/client/post_processing/__init__.py, 273): The quality = 4 was selected.

--- Нажал "ВОЙТИ" ---

02:41:57.616: VibrationObject.createEffect() = 1
02:41:57.623: oVibrationObject.loadEffectFromFile(effectHandle=1, fileName=vibroeffects/button_click_veff.uwv)
02:41:57.623: VibrationObject.getEffectLength(1) = 170 # Время в мс
02:41:57.623: VibrationObject.setEffectGain(handle=1, effectGain=100.0)
02:41:57.709: VibrationObject.startEffect(1) # Включили вибратор
02:41:57.885: VibrationObject.stopEffect(1) # Выключили

02:42:01.322: VibrationObject.connect()
[SPACE] Loading space: spaces/hangar
02:42:11.340: VibrationObject.connect()

--- Нажал "В БОЙ" ---

02:42:15.581: VibrationObject.setEffectGain(handle=1, effectGain=0.0)
02:42:15.581: VibrationObject.setEffectGain(handle=1, effectGain=100.0)
02:42:15.692: VibrationObject.startEffect(1) # Включили
02:42:16.670: VibrationObject.stopEffect(1) # Выключили


02:42:21.357: VibrationObject.connect()
[SPACE] Loading space: spaces/03_campania
02:42:33.525: VibrationObject.createEffect() = 2
02:42:33.525: oVibrationObject.loadEffectFromFile(effectHandle=2, fileName=vibroeffects/move_low_veff.uwv)
02:42:33.525: VibrationObject.getEffectLength(2) = 10000
02:42:33.525: VibrationObject.createEffect() = 3
02:42:33.525: oVibrationObject.loadEffectFromFile(effectHandle=3, fileName=vibroeffects/move_idle_veff.uwv)
02:42:33.525: VibrationObject.getEffectLength(3) = 7200
02:42:33.525: VibrationObject.createEffect() = 4
02:42:33.525: oVibrationObject.loadEffectFromFile(effectHandle=4, fileName=vibroeffects/move_acceleration_veff.uwv)
02:42:33.525: VibrationObject.getEffectLength(4) = 2500
02:42:33.525: VibrationObject.createEffect() = 5
02:42:33.525: oVibrationObject.loadEffectFromFile(effectHandle=5, fileName=vibroeffects/move_braking_veff.uwv)
02:42:33.525: VibrationObject.getEffectLength(5) = 600
02:42:33.526: VibrationObject.createEffect() = 6
02:42:33.526: oVibrationObject.loadEffectFromFile(effectHandle=6, fileName=vibroeffects/move_swamp_low_veff.uwv)
02:42:33.526: VibrationObject.getEffectLength(6) = 15750
02:42:33.526: VibrationObject.createEffect() = 7
02:42:33.526: oVibrationObject.loadEffectFromFile(effectHandle=7, fileName=vibroeffects/move_swamp_high_veff.uwv)
02:42:33.526: VibrationObject.getEffectLength(7) = 10500
02:42:33.526: VibrationObject.createEffect() = 8
02:42:33.526: oVibrationObject.loadEffectFromFile(effectHandle=8, fileName=vibroeffects/move_sand_low_veff.uwv)
02:42:33.526: VibrationObject.getEffectLength(8) = 10000
02:42:33.526: VibrationObject.createEffect() = 9
02:42:33.526: oVibrationObject.loadEffectFromFile(effectHandle=9, fileName=vibroeffects/move_sand_high_veff.uwv)
02:42:33.526: VibrationObject.getEffectLength(9) = 8400
02:42:33.526: VibrationObject.createEffect() = 10
02:42:33.527: oVibrationObject.loadEffectFromFile(effectHandle=10, fileName=vibroeffects/move_high_veff.uwv)
02:42:33.527: VibrationObject.getEffectLength(10) = 6000
02:42:33.527: VibrationObject.stopEffect(2)
02:42:33.527: VibrationObject.stopEffect(3)
02:42:33.527: VibrationObject.stopEffect(4)
02:42:33.527: VibrationObject.stopEffect(5)
02:42:33.527: VibrationObject.createEffect() = 11
02:42:33.527: oVibrationObject.loadEffectFromFile(effectHandle=11, fileName=vibroeffects/crit_fire_veff.uwv)
02:42:33.527: VibrationObject.getEffectLength(11) = 14000
02:42:35.357: VibrationObject.stopEffect(2)
02:42:35.357: VibrationObject.stopEffect(3)
02:42:35.357: VibrationObject.stopEffect(4)
02:42:35.357: VibrationObject.stopEffect(5)
02:42:35.358: VibrationObject.connect()
02:42:35.719: VibrationObject.stopEffect(5)
02:42:35.719: VibrationObject.stopEffect(2)
02:42:35.719: VibrationObject.stopEffect(3)
02:42:35.719: VibrationObject.stopEffect(4)
02:42:35.719: VibrationObject.stopEffect(5)
02:42:35.837: VibrationObject.stopEffect(5)
02:42:35.838: VibrationObject.stopEffect(2)
02:42:35.838: VibrationObject.stopEffect(3)
02:42:35.838: VibrationObject.stopEffect(4)
02:42:35.838: VibrationObject.stopEffect(5)
02:42:36.900: VibrationObject.stopEffect(5)
02:42:36.900: VibrationObject.stopEffect(2)
02:42:36.900: VibrationObject.stopEffect(3)
02:42:36.900: VibrationObject.stopEffect(4)
02:42:36.900: VibrationObject.stopEffect(5)
02:42:36.345: VibrationObject.stopEffect(5)
02:42:36.345: VibrationObject.stopEffect(2)
02:42:36.345: VibrationObject.stopEffect(3)
02:42:36.345: VibrationObject.stopEffect(4)
02:42:36.345: VibrationObject.stopEffect(5)
02:42:36.598: VibrationObject.stopEffect(5)
02:42:36.598: VibrationObject.stopEffect(2)
02:42:36.598: VibrationObject.stopEffect(3)
02:42:36.598: VibrationObject.stopEffect(4)
02:42:36.598: VibrationObject.stopEffect(5)
02:42:36.853: VibrationObject.stopEffect(5)
02:42:36.853: VibrationObject.stopEffect(2)
02:42:36.853: VibrationObject.stopEffect(3)
02:42:36.853: VibrationObject.stopEffect(4)
02:42:36.853: VibrationObject.stopEffect(5)
02:42:37.111: VibrationObject.stopEffect(5)
02:42:37.111: VibrationObject.stopEffect(2)
02:42:37.111: VibrationObject.stopEffect(3)
02:42:37.111: VibrationObject.stopEffect(4)
02:42:37.111: VibrationObject.stopEffect(5)
02:42:37.368: VibrationObject.stopEffect(5)
02:42:37.368: VibrationObject.stopEffect(2)
02:42:37.368: VibrationObject.stopEffect(3)
02:42:37.368: VibrationObject.stopEffect(4)
02:42:37.368: VibrationObject.stopEffect(5)
02:42:37.625: VibrationObject.stopEffect(5)
02:42:37.625: VibrationObject.stopEffect(2)
02:42:37.625: VibrationObject.stopEffect(3)
02:42:37.625: VibrationObject.stopEffect(4)
02:42:37.625: VibrationObject.stopEffect(5)
02:42:37.879: VibrationObject.stopEffect(5)
02:42:37.879: VibrationObject.stopEffect(2)
02:42:37.879: VibrationObject.stopEffect(3)
02:42:37.879: VibrationObject.stopEffect(4)
02:42:37.879: VibrationObject.stopEffect(5)
02:42:38.130: VibrationObject.stopEffect(5)
02:42:38.130: VibrationObject.stopEffect(2)
02:42:38.130: VibrationObject.stopEffect(3)
02:42:38.130: VibrationObject.stopEffect(4)
02:42:38.130: VibrationObject.stopEffect(5)
02:42:38.383: VibrationObject.stopEffect(5)
02:42:38.383: VibrationObject.stopEffect(2)
02:42:38.383: VibrationObject.stopEffect(3)
02:42:38.383: VibrationObject.stopEffect(4)
02:42:38.383: VibrationObject.stopEffect(5)
02:42:38.640: VibrationObject.stopEffect(5)
02:42:38.640: VibrationObject.stopEffect(2)
02:42:38.640: VibrationObject.stopEffect(3)
02:42:38.640: VibrationObject.stopEffect(4)
02:42:38.640: VibrationObject.stopEffect(5)
02:42:38.900: VibrationObject.stopEffect(5)
02:42:38.900: VibrationObject.stopEffect(2)
02:42:38.900: VibrationObject.stopEffect(3)
02:42:38.900: VibrationObject.stopEffect(4)
02:42:38.900: VibrationObject.stopEffect(5)
02:42:39.152: VibrationObject.stopEffect(5)
02:42:39.152: VibrationObject.stopEffect(2)
02:42:39.152: VibrationObject.stopEffect(3)
02:42:39.152: VibrationObject.stopEffect(4)
02:42:39.152: VibrationObject.stopEffect(5)
02:42:39.402: VibrationObject.stopEffect(5)
02:42:39.402: VibrationObject.stopEffect(2)
02:42:39.402: VibrationObject.stopEffect(3)
02:42:39.402: VibrationObject.stopEffect(4)
02:42:39.402: VibrationObject.stopEffect(5)
02:42:39.660: VibrationObject.stopEffect(5)
02:42:39.660: VibrationObject.stopEffect(2)
02:42:39.660: VibrationObject.stopEffect(3)
02:42:39.660: VibrationObject.stopEffect(4)
02:42:39.660: VibrationObject.stopEffect(5)
02:42:39.920: VibrationObject.stopEffect(5)
02:42:39.920: VibrationObject.stopEffect(2)
02:42:39.920: VibrationObject.stopEffect(3)
02:42:39.920: VibrationObject.stopEffect(4)
02:42:39.920: VibrationObject.stopEffect(5)
02:42:40.170: VibrationObject.stopEffect(5)
02:42:40.170: VibrationObject.stopEffect(2)
02:42:40.170: VibrationObject.stopEffect(3)
02:42:40.170: VibrationObject.stopEffect(4)
02:42:40.170: VibrationObject.stopEffect(5)
02:42:40.428: VibrationObject.stopEffect(5)
02:42:40.428: VibrationObject.stopEffect(2)
02:42:40.428: VibrationObject.stopEffect(3)
02:42:40.428: VibrationObject.stopEffect(4)
02:42:40.429: VibrationObject.stopEffect(5)
02:42:40.679: VibrationObject.stopEffect(5)
02:42:40.679: VibrationObject.stopEffect(2)
02:42:40.679: VibrationObject.stopEffect(3)
02:42:40.679: VibrationObject.stopEffect(4)
02:42:40.679: VibrationObject.stopEffect(5)
02:42:40.934: VibrationObject.stopEffect(5)
02:42:40.934: VibrationObject.stopEffect(2)
02:42:40.934: VibrationObject.stopEffect(3)
02:42:40.934: VibrationObject.stopEffect(4)
02:42:40.934: VibrationObject.stopEffect(5)
02:42:41.187: VibrationObject.stopEffect(5)
02:42:41.187: VibrationObject.stopEffect(2)
02:42:41.187: VibrationObject.stopEffect(3)
02:42:41.187: VibrationObject.stopEffect(4)
02:42:41.187: VibrationObject.stopEffect(5)
02:42:41.445: VibrationObject.stopEffect(5)
02:42:41.445: VibrationObject.stopEffect(2)
02:42:41.445: VibrationObject.stopEffect(3)
02:42:41.445: VibrationObject.stopEffect(4)
02:42:41.445: VibrationObject.stopEffect(5)
02:42:41.707: VibrationObject.stopEffect(5)
02:42:41.707: VibrationObject.stopEffect(2)
02:42:41.707: VibrationObject.stopEffect(3)
02:42:41.707: VibrationObject.stopEffect(4)
02:42:41.707: VibrationObject.stopEffect(5)
02:42:41.958: VibrationObject.stopEffect(5)
02:42:41.958: VibrationObject.stopEffect(2)
02:42:41.958: VibrationObject.stopEffect(3)
02:42:41.958: VibrationObject.stopEffect(4)
02:42:41.958: VibrationObject.stopEffect(5)
02:42:42.214: VibrationObject.stopEffect(5)
02:42:42.214: VibrationObject.stopEffect(2)
02:42:42.214: VibrationObject.stopEffect(3)
02:42:42.215: VibrationObject.stopEffect(4)
02:42:42.215: VibrationObject.stopEffect(5)
02:42:42.470: VibrationObject.stopEffect(5)
02:42:42.470: VibrationObject.stopEffect(2)
02:42:42.470: VibrationObject.stopEffect(3)
02:42:42.470: VibrationObject.stopEffect(4)
02:42:42.470: VibrationObject.stopEffect(5)
02:42:42.727: VibrationObject.stopEffect(5)
02:42:42.727: VibrationObject.stopEffect(2)
02:42:42.727: VibrationObject.stopEffect(3)
02:42:42.727: VibrationObject.stopEffect(4)
02:42:42.727: VibrationObject.stopEffect(5)
02:42:42.985: VibrationObject.stopEffect(5)
02:42:42.985: VibrationObject.stopEffect(2)
02:42:42.986: VibrationObject.stopEffect(3)
02:42:42.986: VibrationObject.stopEffect(4)
02:42:42.986: VibrationObject.stopEffect(5)
02:42:43.243: VibrationObject.stopEffect(5)
02:42:43.243: VibrationObject.stopEffect(2)
02:42:43.243: VibrationObject.stopEffect(3)
02:42:43.243: VibrationObject.stopEffect(4)
02:42:43.243: VibrationObject.stopEffect(5)
02:42:43.508: VibrationObject.stopEffect(5)
02:42:43.508: VibrationObject.stopEffect(2)
02:42:43.508: VibrationObject.stopEffect(3)
02:42:43.508: VibrationObject.stopEffect(4)
02:42:43.508: VibrationObject.stopEffect(5)
02:42:43.765: VibrationObject.stopEffect(5)
02:42:43.765: VibrationObject.stopEffect(2)
02:42:43.765: VibrationObject.stopEffect(3)
02:42:43.765: VibrationObject.stopEffect(4)
02:42:43.765: VibrationObject.stopEffect(5)
02:42:44.220: VibrationObject.stopEffect(5)
02:42:44.220: VibrationObject.stopEffect(2)
02:42:44.220: VibrationObject.stopEffect(3)
02:42:44.220: VibrationObject.stopEffect(4)
02:42:44.220: VibrationObject.stopEffect(5)
02:42:44.289: VibrationObject.stopEffect(5)
02:42:44.289: VibrationObject.stopEffect(2)
02:42:44.290: VibrationObject.stopEffect(3)
02:42:44.290: VibrationObject.stopEffect(4)
02:42:44.290: VibrationObject.stopEffect(5)
02:42:44.545: VibrationObject.stopEffect(5)
02:42:44.545: VibrationObject.stopEffect(2)
02:42:44.545: VibrationObject.stopEffect(3)
02:42:44.545: VibrationObject.stopEffect(4)
02:42:44.545: VibrationObject.stopEffect(5)
02:42:44.798: VibrationObject.stopEffect(5)
02:42:44.798: VibrationObject.stopEffect(2)
02:42:44.798: VibrationObject.stopEffect(3)
02:42:44.798: VibrationObject.stopEffect(4)
02:42:44.798: VibrationObject.stopEffect(5)
02:42:45.540: VibrationObject.stopEffect(5)
02:42:45.540: VibrationObject.stopEffect(2)
02:42:45.540: VibrationObject.stopEffect(3)
02:42:45.540: VibrationObject.stopEffect(4)
02:42:45.540: VibrationObject.stopEffect(5)
02:42:45.820: VibrationObject.connect()
02:42:45.312: VibrationObject.stopEffect(5)
02:42:45.312: VibrationObject.stopEffect(2)
02:42:45.312: VibrationObject.stopEffect(3)
02:42:45.312: VibrationObject.stopEffect(4)
02:42:45.312: VibrationObject.stopEffect(5)
02:42:45.570: VibrationObject.stopEffect(5)
02:42:45.570: VibrationObject.stopEffect(2)
02:42:45.570: VibrationObject.stopEffect(3)
02:42:45.570: VibrationObject.stopEffect(4)
02:42:45.570: VibrationObject.stopEffect(5)
02:42:45.827: VibrationObject.stopEffect(5)
02:42:45.827: VibrationObject.stopEffect(2)
02:42:45.827: VibrationObject.stopEffect(3)
02:42:45.827: VibrationObject.stopEffect(4)
02:42:45.827: VibrationObject.stopEffect(5)
02:42:46.820: VibrationObject.stopEffect(5)
02:42:46.820: VibrationObject.stopEffect(2)
02:42:46.820: VibrationObject.stopEffect(3)
02:42:46.820: VibrationObject.stopEffect(4)
02:42:46.820: VibrationObject.stopEffect(5)
02:42:46.342: VibrationObject.stopEffect(5)
02:42:46.342: VibrationObject.stopEffect(2)
02:42:46.342: VibrationObject.stopEffect(3)
02:42:46.342: VibrationObject.stopEffect(4)
02:42:46.342: VibrationObject.stopEffect(5)
02:42:46.599: VibrationObject.stopEffect(5)
02:42:46.599: VibrationObject.stopEffect(2)
02:42:46.599: VibrationObject.stopEffect(3)
02:42:46.599: VibrationObject.stopEffect(4)
02:42:46.599: VibrationObject.stopEffect(5)
02:42:46.856: VibrationObject.stopEffect(5)
02:42:46.856: VibrationObject.stopEffect(2)
02:42:46.856: VibrationObject.stopEffect(3)
02:42:46.856: VibrationObject.stopEffect(4)
02:42:46.856: VibrationObject.stopEffect(5)
02:42:47.115: VibrationObject.stopEffect(5)
02:42:47.115: VibrationObject.stopEffect(2)
02:42:47.115: VibrationObject.stopEffect(3)
02:42:47.115: VibrationObject.stopEffect(4)
02:42:47.115: VibrationObject.stopEffect(5)
02:42:47.371: VibrationObject.stopEffect(5)
02:42:47.371: VibrationObject.stopEffect(2)
02:42:47.371: VibrationObject.stopEffect(3)
02:42:47.371: VibrationObject.stopEffect(4)
02:42:47.371: VibrationObject.stopEffect(5)
02:42:47.626: VibrationObject.stopEffect(5)
02:42:47.626: VibrationObject.stopEffect(2)
02:42:47.626: VibrationObject.stopEffect(3)
02:42:47.626: VibrationObject.stopEffect(4)
02:42:47.626: VibrationObject.stopEffect(5)
02:42:47.877: VibrationObject.stopEffect(5)
02:42:47.877: VibrationObject.stopEffect(2)
02:42:47.877: VibrationObject.stopEffect(3)
02:42:47.877: VibrationObject.stopEffect(4)
02:42:47.877: VibrationObject.stopEffect(5)
02:42:48.134: VibrationObject.stopEffect(5)
02:42:48.134: VibrationObject.stopEffect(2)
02:42:48.134: VibrationObject.stopEffect(3)
02:42:48.134: VibrationObject.stopEffect(4)
02:42:48.134: VibrationObject.stopEffect(5)
02:42:48.393: VibrationObject.stopEffect(5)
02:42:48.393: VibrationObject.stopEffect(2)
02:42:48.393: VibrationObject.stopEffect(3)
02:42:48.393: VibrationObject.stopEffect(4)
02:42:48.393: VibrationObject.stopEffect(5)
02:42:48.650: VibrationObject.stopEffect(5)
02:42:48.650: VibrationObject.stopEffect(2)
02:42:48.650: VibrationObject.stopEffect(3)
02:42:48.650: VibrationObject.stopEffect(4)
02:42:48.650: VibrationObject.stopEffect(5)
02:42:48.908: VibrationObject.stopEffect(5)
02:42:48.908: VibrationObject.stopEffect(2)
02:42:48.908: VibrationObject.stopEffect(3)
02:42:48.908: VibrationObject.stopEffect(4)
02:42:48.908: VibrationObject.stopEffect(5)
02:42:49.159: VibrationObject.stopEffect(5)
02:42:49.159: VibrationObject.stopEffect(2)
02:42:49.159: VibrationObject.stopEffect(3)
02:42:49.159: VibrationObject.stopEffect(4)
02:42:49.159: VibrationObject.stopEffect(5)
02:42:49.416: VibrationObject.stopEffect(5)
02:42:49.416: VibrationObject.stopEffect(2)
02:42:49.416: VibrationObject.stopEffect(3)
02:42:49.416: VibrationObject.stopEffect(4)
02:42:49.416: VibrationObject.stopEffect(5)
02:42:49.673: VibrationObject.stopEffect(5)
02:42:49.673: VibrationObject.stopEffect(2)
02:42:49.673: VibrationObject.stopEffect(3)
02:42:49.673: VibrationObject.stopEffect(4)
02:42:49.673: VibrationObject.stopEffect(5)
02:42:49.930: VibrationObject.stopEffect(5)
02:42:49.930: VibrationObject.stopEffect(2)
02:42:49.930: VibrationObject.stopEffect(3)
02:42:49.930: VibrationObject.stopEffect(4)
02:42:49.930: VibrationObject.stopEffect(5)
02:42:50.186: VibrationObject.stopEffect(5)
02:42:50.186: VibrationObject.stopEffect(2)
02:42:50.186: VibrationObject.stopEffect(3)
02:42:50.186: VibrationObject.stopEffect(4)
02:42:50.186: VibrationObject.stopEffect(5)
02:42:50.442: VibrationObject.stopEffect(5)
02:42:50.442: VibrationObject.stopEffect(2)
02:42:50.442: VibrationObject.stopEffect(3)
02:42:50.442: VibrationObject.stopEffect(4)
02:42:50.442: VibrationObject.stopEffect(5)
02:42:50.701: VibrationObject.stopEffect(5)
02:42:50.701: VibrationObject.stopEffect(2)
02:42:50.701: VibrationObject.stopEffect(3)
02:42:50.701: VibrationObject.stopEffect(4)
02:42:50.701: VibrationObject.stopEffect(5)
02:42:50.960: VibrationObject.stopEffect(5)
02:42:50.960: VibrationObject.stopEffect(2)
02:42:50.960: VibrationObject.stopEffect(3)
02:42:50.960: VibrationObject.stopEffect(4)
02:42:50.960: VibrationObject.stopEffect(5)
02:42:51.217: VibrationObject.stopEffect(5)
02:42:51.217: VibrationObject.stopEffect(2)
02:42:51.217: VibrationObject.stopEffect(3)
02:42:51.217: VibrationObject.stopEffect(4)
02:42:51.217: VibrationObject.stopEffect(5)
02:42:51.474: VibrationObject.stopEffect(5)
02:42:51.474: VibrationObject.stopEffect(2)
02:42:51.474: VibrationObject.stopEffect(3)
02:42:51.474: VibrationObject.stopEffect(4)
02:42:51.474: VibrationObject.stopEffect(5)
02:42:51.731: VibrationObject.stopEffect(5)
02:42:51.731: VibrationObject.stopEffect(2)
02:42:51.732: VibrationObject.stopEffect(3)
02:42:51.732: VibrationObject.stopEffect(4)
02:42:51.732: VibrationObject.stopEffect(5)
02:42:51.990: VibrationObject.stopEffect(5)
02:42:51.990: VibrationObject.stopEffect(2)
02:42:51.990: VibrationObject.stopEffect(3)
02:42:51.990: VibrationObject.stopEffect(4)
02:42:51.990: VibrationObject.stopEffect(5)
02:42:52.246: VibrationObject.stopEffect(5)
02:42:52.246: VibrationObject.stopEffect(2)
02:42:52.246: VibrationObject.stopEffect(3)
02:42:52.246: VibrationObject.stopEffect(4)
02:42:52.246: VibrationObject.stopEffect(5)
02:42:52.505: VibrationObject.stopEffect(5)
02:42:52.505: VibrationObject.stopEffect(2)
02:42:52.505: VibrationObject.stopEffect(3)
02:42:52.505: VibrationObject.stopEffect(4)
02:42:52.505: VibrationObject.stopEffect(5)
02:42:52.763: VibrationObject.stopEffect(5)
02:42:52.763: VibrationObject.stopEffect(2)
02:42:52.763: VibrationObject.stopEffect(3)
02:42:52.763: VibrationObject.stopEffect(4)
02:42:52.763: VibrationObject.stopEffect(5)
02:42:53.200: VibrationObject.stopEffect(5)
02:42:53.200: VibrationObject.stopEffect(2)
02:42:53.200: VibrationObject.stopEffect(3)
02:42:53.200: VibrationObject.stopEffect(4)
02:42:53.200: VibrationObject.stopEffect(5)
02:42:53.276: VibrationObject.stopEffect(5)
02:42:53.277: VibrationObject.stopEffect(2)
02:42:53.277: VibrationObject.stopEffect(3)
02:42:53.277: VibrationObject.stopEffect(4)
02:42:53.277: VibrationObject.stopEffect(5)
02:42:53.533: VibrationObject.stopEffect(5)
02:42:53.533: VibrationObject.stopEffect(2)
02:42:53.533: VibrationObject.stopEffect(3)
02:42:53.533: VibrationObject.stopEffect(4)
02:42:53.533: VibrationObject.stopEffect(5)
02:42:53.792: VibrationObject.stopEffect(5)
02:42:53.792: VibrationObject.stopEffect(2)
02:42:53.792: VibrationObject.stopEffect(3)
02:42:53.792: VibrationObject.stopEffect(4)
02:42:53.792: VibrationObject.stopEffect(5)
02:42:54.430: VibrationObject.stopEffect(5)
02:42:54.430: VibrationObject.stopEffect(2)
02:42:54.430: VibrationObject.stopEffect(3)
02:42:54.430: VibrationObject.stopEffect(4)
02:42:54.430: VibrationObject.stopEffect(5)
02:42:54.307: VibrationObject.stopEffect(5)
02:42:54.307: VibrationObject.stopEffect(2)
02:42:54.307: VibrationObject.stopEffect(3)
02:42:54.307: VibrationObject.stopEffect(4)
02:42:54.307: VibrationObject.stopEffect(5)
02:42:54.565: VibrationObject.stopEffect(5)
02:42:54.565: VibrationObject.stopEffect(2)
02:42:54.565: VibrationObject.stopEffect(3)
02:42:54.565: VibrationObject.stopEffect(4)
02:42:54.565: VibrationObject.stopEffect(5)
02:42:54.822: VibrationObject.stopEffect(5)
02:42:54.822: VibrationObject.stopEffect(2)
02:42:54.822: VibrationObject.stopEffect(3)
02:42:54.822: VibrationObject.stopEffect(4)
02:42:54.822: VibrationObject.stopEffect(5)
02:42:55.790: VibrationObject.stopEffect(5)
02:42:55.790: VibrationObject.stopEffect(2)
02:42:55.790: VibrationObject.stopEffect(3)
02:42:55.790: VibrationObject.stopEffect(4)
02:42:55.790: VibrationObject.stopEffect(5)
02:42:55.880: VibrationObject.connect()
02:42:55.337: VibrationObject.stopEffect(5)
02:42:55.338: VibrationObject.stopEffect(2)
02:42:55.338: VibrationObject.stopEffect(3)
02:42:55.338: VibrationObject.stopEffect(4)
02:42:55.338: VibrationObject.stopEffect(5)
02:42:55.595: VibrationObject.stopEffect(5)
02:42:55.595: VibrationObject.stopEffect(2)
02:42:55.595: VibrationObject.stopEffect(3)
02:42:55.595: VibrationObject.stopEffect(4)
02:42:55.595: VibrationObject.stopEffect(5)
02:42:55.853: VibrationObject.stopEffect(5)
02:42:55.853: VibrationObject.stopEffect(2)
02:42:55.853: VibrationObject.stopEffect(3)
02:42:55.853: VibrationObject.stopEffect(4)
02:42:55.853: VibrationObject.stopEffect(5)
02:42:56.112: VibrationObject.stopEffect(5)
02:42:56.112: VibrationObject.stopEffect(2)
02:42:56.112: VibrationObject.stopEffect(3)
02:42:56.112: VibrationObject.stopEffect(4)
02:42:56.112: VibrationObject.stopEffect(5)
02:42:56.366: VibrationObject.stopEffect(5)
02:42:56.366: VibrationObject.stopEffect(2)
02:42:56.366: VibrationObject.stopEffect(3)
02:42:56.366: VibrationObject.stopEffect(4)
02:42:56.366: VibrationObject.stopEffect(5)
02:42:56.616: VibrationObject.stopEffect(5)
02:42:56.616: VibrationObject.stopEffect(2)
02:42:56.617: VibrationObject.stopEffect(3)
02:42:56.617: VibrationObject.stopEffect(4)
02:42:56.617: VibrationObject.stopEffect(5)
02:42:56.874: VibrationObject.stopEffect(5)
02:42:56.874: VibrationObject.stopEffect(2)
02:42:56.874: VibrationObject.stopEffect(3)
02:42:56.874: VibrationObject.stopEffect(4)
02:42:56.874: VibrationObject.stopEffect(5)
02:42:57.131: VibrationObject.stopEffect(5)
02:42:57.131: VibrationObject.stopEffect(2)
02:42:57.131: VibrationObject.stopEffect(3)
02:42:57.131: VibrationObject.stopEffect(4)
02:42:57.131: VibrationObject.stopEffect(5)
02:42:57.387: VibrationObject.stopEffect(5)
02:42:57.387: VibrationObject.stopEffect(2)
02:42:57.387: VibrationObject.stopEffect(3)
02:42:57.387: VibrationObject.stopEffect(4)
02:42:57.387: VibrationObject.stopEffect(5)
02:42:57.645: VibrationObject.stopEffect(5)
02:42:57.645: VibrationObject.stopEffect(2)
02:42:57.645: VibrationObject.stopEffect(3)
02:42:57.645: VibrationObject.stopEffect(4)
02:42:57.645: VibrationObject.stopEffect(5)
02:42:57.903: VibrationObject.stopEffect(5)
02:42:57.903: VibrationObject.stopEffect(2)
02:42:57.903: VibrationObject.stopEffect(3)
02:42:57.903: VibrationObject.stopEffect(4)
02:42:57.903: VibrationObject.stopEffect(5)
02:42:58.161: VibrationObject.stopEffect(5)
02:42:58.161: VibrationObject.stopEffect(2)
02:42:58.161: VibrationObject.stopEffect(3)
02:42:58.161: VibrationObject.stopEffect(4)
02:42:58.161: VibrationObject.stopEffect(5)
02:42:58.417: VibrationObject.stopEffect(5)
02:42:58.417: VibrationObject.stopEffect(2)
02:42:58.417: VibrationObject.stopEffect(3)
02:42:58.417: VibrationObject.stopEffect(4)
02:42:58.417: VibrationObject.stopEffect(5)
02:42:58.674: VibrationObject.stopEffect(5)
02:42:58.674: VibrationObject.stopEffect(2)
02:42:58.674: VibrationObject.stopEffect(3)
02:42:58.674: VibrationObject.stopEffect(4)
02:42:58.675: VibrationObject.stopEffect(5)
02:42:58.934: VibrationObject.stopEffect(5)
02:42:58.934: VibrationObject.stopEffect(2)
02:42:58.934: VibrationObject.stopEffect(3)
02:42:58.934: VibrationObject.stopEffect(4)
02:42:58.934: VibrationObject.stopEffect(5)
02:42:59.192: VibrationObject.stopEffect(5)
02:42:59.192: VibrationObject.stopEffect(2)
02:42:59.192: VibrationObject.stopEffect(3)
02:42:59.192: VibrationObject.stopEffect(4)
02:42:59.192: VibrationObject.stopEffect(5)
02:42:59.447: VibrationObject.stopEffect(5)
02:42:59.447: VibrationObject.stopEffect(2)
02:42:59.447: VibrationObject.stopEffect(3)
02:42:59.447: VibrationObject.stopEffect(4)
02:42:59.447: VibrationObject.stopEffect(5)
02:42:59.704: VibrationObject.stopEffect(5)
02:42:59.704: VibrationObject.stopEffect(2)
02:42:59.704: VibrationObject.stopEffect(3)
02:42:59.704: VibrationObject.stopEffect(4)
02:42:59.704: VibrationObject.stopEffect(5)
02:42:59.961: VibrationObject.stopEffect(5)
02:42:59.961: VibrationObject.stopEffect(2)
02:42:59.961: VibrationObject.stopEffect(3)
02:42:59.961: VibrationObject.stopEffect(4)
02:42:59.961: VibrationObject.stopEffect(5)
02:43:00.214: VibrationObject.stopEffect(5)
02:43:00.214: VibrationObject.stopEffect(2)
02:43:00.214: VibrationObject.stopEffect(3)
02:43:00.214: VibrationObject.stopEffect(4)
02:43:00.214: VibrationObject.stopEffect(5)
02:43:00.470: VibrationObject.stopEffect(5)
02:43:00.470: VibrationObject.stopEffect(2)
02:43:00.471: VibrationObject.stopEffect(3)
02:43:00.471: VibrationObject.stopEffect(4)
02:43:00.471: VibrationObject.stopEffect(5)
02:43:00.727: VibrationObject.stopEffect(5)
02:43:00.727: VibrationObject.stopEffect(2)
02:43:00.727: VibrationObject.stopEffect(3)
02:43:00.727: VibrationObject.stopEffect(4)
02:43:00.727: VibrationObject.stopEffect(5)
02:43:00.984: VibrationObject.stopEffect(5)
02:43:00.985: VibrationObject.stopEffect(2)
02:43:00.985: VibrationObject.stopEffect(3)
02:43:00.985: VibrationObject.stopEffect(4)
02:43:00.985: VibrationObject.stopEffect(5)
02:43:01.242: VibrationObject.stopEffect(5)
02:43:01.242: VibrationObject.stopEffect(2)
02:43:01.242: VibrationObject.stopEffect(3)
02:43:01.242: VibrationObject.stopEffect(4)
02:43:01.242: VibrationObject.stopEffect(5)
02:43:01.508: VibrationObject.stopEffect(5)
02:43:01.508: VibrationObject.stopEffect(2)
02:43:01.508: VibrationObject.stopEffect(3)
02:43:01.508: VibrationObject.stopEffect(4)
02:43:01.508: VibrationObject.stopEffect(5)
02:43:01.759: VibrationObject.stopEffect(5)
02:43:01.759: VibrationObject.stopEffect(2)
02:43:01.759: VibrationObject.stopEffect(3)
02:43:01.759: VibrationObject.stopEffect(4)
02:43:01.759: VibrationObject.stopEffect(5)
02:43:02.160: VibrationObject.stopEffect(5)
02:43:02.160: VibrationObject.stopEffect(2)
02:43:02.160: VibrationObject.stopEffect(3)
02:43:02.160: VibrationObject.stopEffect(4)
02:43:02.160: VibrationObject.stopEffect(5)
02:43:02.272: VibrationObject.stopEffect(5)
02:43:02.272: VibrationObject.stopEffect(2)
02:43:02.272: VibrationObject.stopEffect(3)
02:43:02.272: VibrationObject.stopEffect(4)
02:43:02.272: VibrationObject.stopEffect(5)
02:43:02.531: VibrationObject.stopEffect(5)
02:43:02.531: VibrationObject.stopEffect(2)
02:43:02.531: VibrationObject.stopEffect(3)
02:43:02.532: VibrationObject.stopEffect(4)
02:43:02.532: VibrationObject.stopEffect(5)
02:43:02.790: VibrationObject.stopEffect(5)
02:43:02.790: VibrationObject.stopEffect(2)
02:43:02.790: VibrationObject.stopEffect(3)
02:43:02.790: VibrationObject.stopEffect(4)
02:43:02.790: VibrationObject.stopEffect(5)
02:43:03.460: VibrationObject.stopEffect(5)
02:43:03.460: VibrationObject.stopEffect(2)
02:43:03.460: VibrationObject.stopEffect(3)
02:43:03.460: VibrationObject.stopEffect(4)
02:43:03.460: VibrationObject.stopEffect(5)
02:43:03.303: VibrationObject.stopEffect(5)
02:43:03.303: VibrationObject.stopEffect(2)
02:43:03.303: VibrationObject.stopEffect(3)
02:43:03.303: VibrationObject.stopEffect(4)
02:43:03.303: VibrationObject.stopEffect(5)
02:43:03.552: VibrationObject.stopEffect(5)
02:43:03.553: VibrationObject.stopEffect(2)
02:43:03.553: VibrationObject.stopEffect(3)
02:43:03.553: VibrationObject.stopEffect(4)
02:43:03.553: VibrationObject.stopEffect(5)
02:43:03.810: VibrationObject.stopEffect(5)
02:43:03.810: VibrationObject.stopEffect(2)
02:43:03.810: VibrationObject.stopEffect(3)
02:43:03.810: VibrationObject.stopEffect(4)
02:43:03.810: VibrationObject.stopEffect(5)
02:43:04.660: VibrationObject.stopEffect(5)
02:43:04.670: VibrationObject.stopEffect(2)
02:43:04.670: VibrationObject.stopEffect(3)
02:43:04.670: VibrationObject.stopEffect(4)
02:43:04.670: VibrationObject.stopEffect(5)
02:43:04.324: VibrationObject.stopEffect(5)
02:43:04.324: VibrationObject.stopEffect(2)
02:43:04.324: VibrationObject.stopEffect(3)
02:43:04.324: VibrationObject.stopEffect(4)
02:43:04.324: VibrationObject.stopEffect(5)
02:43:04.581: VibrationObject.stopEffect(5)
02:43:04.581: VibrationObject.stopEffect(2)
02:43:04.581: VibrationObject.stopEffect(3)
02:43:04.581: VibrationObject.stopEffect(4)
02:43:04.581: VibrationObject.stopEffect(5)
02:43:04.838: VibrationObject.stopEffect(5)
02:43:04.838: VibrationObject.stopEffect(2)
02:43:04.838: VibrationObject.stopEffect(3)
02:43:04.838: VibrationObject.stopEffect(4)
02:43:04.838: VibrationObject.stopEffect(5)
02:43:05.104: VibrationObject.stopEffect(5)
02:43:05.104: VibrationObject.stopEffect(2)
02:43:05.104: VibrationObject.stopEffect(3)
02:43:05.104: VibrationObject.stopEffect(4)
02:43:05.105: VibrationObject.stopEffect(5)
02:43:05.106: VibrationObject.connect()
02:43:05.403: VibrationObject.stopEffect(5)
02:43:05.403: VibrationObject.stopEffect(2)
02:43:05.403: VibrationObject.stopEffect(3)
02:43:05.403: VibrationObject.stopEffect(4)
02:43:05.403: VibrationObject.stopEffect(5)
02:43:05.658: VibrationObject.stopEffect(5)
02:43:05.658: VibrationObject.stopEffect(2)
02:43:05.658: VibrationObject.stopEffect(3)
02:43:05.658: VibrationObject.stopEffect(4)
02:43:05.659: VibrationObject.stopEffect(5)
02:43:05.917: VibrationObject.stopEffect(5)
02:43:05.917: VibrationObject.stopEffect(2)
02:43:05.917: VibrationObject.stopEffect(3)
02:43:05.917: VibrationObject.stopEffect(4)
02:43:05.917: VibrationObject.stopEffect(5)
02:43:06.187: VibrationObject.stopEffect(5)
02:43:06.187: VibrationObject.stopEffect(2)
02:43:06.187: VibrationObject.stopEffect(3)
02:43:06.187: VibrationObject.stopEffect(4)
02:43:06.187: VibrationObject.stopEffect(5)
02:43:06.439: VibrationObject.stopEffect(5)
02:43:06.440: VibrationObject.stopEffect(2)
02:43:06.440: VibrationObject.stopEffect(3)
02:43:06.440: VibrationObject.stopEffect(4)
02:43:06.440: VibrationObject.stopEffect(5)
02:43:06.696: VibrationObject.stopEffect(5)
02:43:06.696: VibrationObject.stopEffect(2)
02:43:06.696: VibrationObject.stopEffect(3)
02:43:06.696: VibrationObject.stopEffect(4)
02:43:06.696: VibrationObject.stopEffect(5)
02:43:06.952: VibrationObject.stopEffect(5)
02:43:06.952: VibrationObject.stopEffect(2)
02:43:06.952: VibrationObject.stopEffect(3)
02:43:06.952: VibrationObject.stopEffect(4)
02:43:06.952: VibrationObject.stopEffect(5)
02:43:07.204: VibrationObject.stopEffect(5)
02:43:07.204: VibrationObject.stopEffect(2)
02:43:07.205: VibrationObject.stopEffect(3)
02:43:07.205: VibrationObject.stopEffect(4)
02:43:07.205: VibrationObject.stopEffect(5)
02:43:07.456: VibrationObject.stopEffect(5)
02:43:07.456: VibrationObject.stopEffect(2)
02:43:07.456: VibrationObject.stopEffect(3)
02:43:07.456: VibrationObject.stopEffect(4)
02:43:07.456: VibrationObject.stopEffect(5)
02:43:07.706: VibrationObject.stopEffect(5)
02:43:07.706: VibrationObject.stopEffect(2)
02:43:07.706: VibrationObject.stopEffect(3)
02:43:07.706: VibrationObject.stopEffect(4)
02:43:07.706: VibrationObject.stopEffect(5)
02:43:07.965: VibrationObject.stopEffect(5)
02:43:07.965: VibrationObject.stopEffect(2)
02:43:07.965: VibrationObject.stopEffect(3)
02:43:07.965: VibrationObject.stopEffect(4)
02:43:07.965: VibrationObject.stopEffect(5)
02:43:08.216: VibrationObject.stopEffect(5)
02:43:08.216: VibrationObject.stopEffect(2)
02:43:08.216: VibrationObject.stopEffect(3)
02:43:08.216: VibrationObject.stopEffect(4)
02:43:08.216: VibrationObject.stopEffect(5)
02:43:08.475: VibrationObject.stopEffect(5)
02:43:08.475: VibrationObject.stopEffect(2)
02:43:08.475: VibrationObject.stopEffect(3)
02:43:08.475: VibrationObject.stopEffect(4)
02:43:08.475: VibrationObject.stopEffect(5)

--- Пушка зарядилась ---

02:43:08.666: VibrationObject.createEffect() = 12
02:43:08.666: oVibrationObject.loadEffectFromFile(effectHandle=12, fileName=vibroeffects/shot_reload_veff.uwv)
02:43:08.666: VibrationObject.getEffectLength(12) = 220
02:43:08.666: VibrationObject.setEffectGain(handle=12, effectGain=100.0)
02:43:08.731: VibrationObject.stopEffect(5)
02:43:08.731: VibrationObject.stopEffect(2)
02:43:08.731: VibrationObject.stopEffect(3)
02:43:08.731: VibrationObject.stopEffect(4)
02:43:08.731: VibrationObject.stopEffect(5)
02:43:08.731: VibrationObject.setEffectGain(handle=12, effectGain=100.0)
02:43:08.769: VibrationObject.startEffect(12) # Включили жужжалку
02:43:08.984: VibrationObject.stopEffect(5)
02:43:08.984: VibrationObject.stopEffect(2)
02:43:08.984: VibrationObject.stopEffect(3)
02:43:08.984: VibrationObject.stopEffect(4)
02:43:08.984: VibrationObject.stopEffect(5)
02:43:08.984: VibrationObject.setEffectGain(handle=12, effectGain=100.0)
02:43:08.995: VibrationObject.stopEffect(12) # Выключили

02:43:09.237: VibrationObject.stopEffect(5)
02:43:09.237: VibrationObject.stopEffect(2)
02:43:09.237: VibrationObject.stopEffect(3)
02:43:09.237: VibrationObject.stopEffect(4)
02:43:09.237: VibrationObject.stopEffect(5)
02:43:09.488: VibrationObject.stopEffect(5)
02:43:09.488: VibrationObject.stopEffect(2)
02:43:09.488: VibrationObject.stopEffect(3)
02:43:09.488: VibrationObject.stopEffect(4)
02:43:09.488: VibrationObject.stopEffect(5)
02:43:09.742: VibrationObject.stopEffect(5)
02:43:09.742: VibrationObject.stopEffect(2)
02:43:09.742: VibrationObject.stopEffect(3)
02:43:09.742: VibrationObject.stopEffect(4)
02:43:09.742: VibrationObject.stopEffect(5)
02:43:09.999: VibrationObject.stopEffect(5)
02:43:09.999: VibrationObject.stopEffect(2)
02:43:09.999: VibrationObject.stopEffect(3)
02:43:09.999: VibrationObject.stopEffect(4)
02:43:09.999: VibrationObject.stopEffect(5)
02:43:10.256: VibrationObject.stopEffect(5)
02:43:10.256: VibrationObject.stopEffect(2)
02:43:10.256: VibrationObject.stopEffect(3)
02:43:10.256: VibrationObject.stopEffect(4)
02:43:10.256: VibrationObject.stopEffect(5)
02:43:10.511: VibrationObject.stopEffect(5)
02:43:10.511: VibrationObject.stopEffect(2)
02:43:10.511: VibrationObject.stopEffect(3)
02:43:10.511: VibrationObject.stopEffect(4)
02:43:10.511: VibrationObject.stopEffect(5)
02:43:10.766: VibrationObject.stopEffect(5)
02:43:10.766: VibrationObject.stopEffect(2)
02:43:10.766: VibrationObject.stopEffect(3)
02:43:10.766: VibrationObject.stopEffect(4)
02:43:10.766: VibrationObject.stopEffect(5)
02:43:11.220: VibrationObject.stopEffect(5)
02:43:11.220: VibrationObject.stopEffect(2)
02:43:11.220: VibrationObject.stopEffect(3)
02:43:11.220: VibrationObject.stopEffect(4)
02:43:11.220: VibrationObject.stopEffect(5)
02:43:11.277: VibrationObject.stopEffect(5)
02:43:11.277: VibrationObject.stopEffect(2)
02:43:11.277: VibrationObject.stopEffect(3)
02:43:11.277: VibrationObject.stopEffect(4)
02:43:11.277: VibrationObject.stopEffect(5)
02:43:11.530: VibrationObject.stopEffect(5)
02:43:11.530: VibrationObject.stopEffect(2)
02:43:11.530: VibrationObject.stopEffect(3)
02:43:11.530: VibrationObject.stopEffect(4)
02:43:11.530: VibrationObject.stopEffect(5)
02:43:11.783: VibrationObject.stopEffect(5)
02:43:11.783: VibrationObject.stopEffect(2)
02:43:11.783: VibrationObject.stopEffect(3)
02:43:11.783: VibrationObject.stopEffect(4)
02:43:11.783: VibrationObject.stopEffect(5)
02:43:12.430: VibrationObject.stopEffect(5)
02:43:12.430: VibrationObject.stopEffect(2)
02:43:12.430: VibrationObject.stopEffect(3)
02:43:12.430: VibrationObject.stopEffect(4)
02:43:12.430: VibrationObject.stopEffect(5)
02:43:12.303: VibrationObject.stopEffect(5)
02:43:12.304: VibrationObject.stopEffect(2)
02:43:12.304: VibrationObject.stopEffect(3)
02:43:12.304: VibrationObject.stopEffect(4)
02:43:12.304: VibrationObject.stopEffect(5)
02:43:12.555: VibrationObject.stopEffect(5)
02:43:12.556: VibrationObject.stopEffect(2)
02:43:12.556: VibrationObject.stopEffect(3)
02:43:12.556: VibrationObject.stopEffect(4)
02:43:12.556: VibrationObject.stopEffect(5)
02:43:12.809: VibrationObject.stopEffect(5)
02:43:12.809: VibrationObject.stopEffect(2)
02:43:12.809: VibrationObject.stopEffect(3)
02:43:12.809: VibrationObject.stopEffect(4)
02:43:12.809: VibrationObject.stopEffect(5)
02:43:13.670: VibrationObject.stopEffect(5)
02:43:13.670: VibrationObject.stopEffect(2)
02:43:13.670: VibrationObject.stopEffect(3)
02:43:13.670: VibrationObject.stopEffect(4)
02:43:13.670: VibrationObject.stopEffect(5)
02:43:13.321: VibrationObject.stopEffect(5)
02:43:13.321: VibrationObject.stopEffect(2)
02:43:13.321: VibrationObject.stopEffect(3)
02:43:13.321: VibrationObject.stopEffect(4)
02:43:13.321: VibrationObject.stopEffect(5)
02:43:13.572: VibrationObject.stopEffect(5)
02:43:13.572: VibrationObject.stopEffect(2)
02:43:13.572: VibrationObject.stopEffect(3)
02:43:13.572: VibrationObject.stopEffect(4)
02:43:13.572: VibrationObject.stopEffect(5)
02:43:13.831: VibrationObject.stopEffect(5)
02:43:13.831: VibrationObject.stopEffect(2)
02:43:13.831: VibrationObject.stopEffect(3)
02:43:13.832: VibrationObject.stopEffect(4)
02:43:13.832: VibrationObject.stopEffect(5)
02:43:14.850: VibrationObject.stopEffect(5)
02:43:14.850: VibrationObject.stopEffect(2)
02:43:14.850: VibrationObject.stopEffect(3)
02:43:14.850: VibrationObject.stopEffect(4)
02:43:14.850: VibrationObject.stopEffect(5)
02:43:14.340: VibrationObject.stopEffect(5)
02:43:14.340: VibrationObject.stopEffect(2)
02:43:14.340: VibrationObject.stopEffect(3)
02:43:14.340: VibrationObject.stopEffect(4)
02:43:14.340: VibrationObject.stopEffect(5)
02:43:14.590: VibrationObject.stopEffect(5)
02:43:14.590: VibrationObject.stopEffect(2)
02:43:14.590: VibrationObject.stopEffect(3)
02:43:14.590: VibrationObject.stopEffect(4)
02:43:14.590: VibrationObject.stopEffect(5)
02:43:14.843: VibrationObject.stopEffect(5)
02:43:14.843: VibrationObject.stopEffect(2)
02:43:14.843: VibrationObject.stopEffect(3)
02:43:14.843: VibrationObject.stopEffect(4)
02:43:14.843: VibrationObject.stopEffect(5)
02:43:15.960: VibrationObject.stopEffect(5)
02:43:15.960: VibrationObject.stopEffect(2)
02:43:15.960: VibrationObject.stopEffect(3)
02:43:15.960: VibrationObject.stopEffect(4)
02:43:15.960: VibrationObject.stopEffect(5)
02:43:15.105: VibrationObject.connect()
02:43:15.347: VibrationObject.stopEffect(5)
02:43:15.347: VibrationObject.stopEffect(2)
02:43:15.347: VibrationObject.stopEffect(3)
02:43:15.347: VibrationObject.stopEffect(4)
02:43:15.347: VibrationObject.stopEffect(5)
02:43:15.610: VibrationObject.stopEffect(5)
02:43:15.610: VibrationObject.stopEffect(2)
02:43:15.610: VibrationObject.stopEffect(3)
02:43:15.610: VibrationObject.stopEffect(4)
02:43:15.610: VibrationObject.stopEffect(5)
02:43:15.868: VibrationObject.stopEffect(5)
02:43:15.868: VibrationObject.stopEffect(2)
02:43:15.868: VibrationObject.stopEffect(3)
02:43:15.868: VibrationObject.stopEffect(4)
02:43:15.868: VibrationObject.stopEffect(5)
02:43:16.124: VibrationObject.stopEffect(5)
02:43:16.124: VibrationObject.stopEffect(2)
02:43:16.124: VibrationObject.stopEffect(3)
02:43:16.124: VibrationObject.stopEffect(4)
02:43:16.124: VibrationObject.stopEffect(5)
02:43:16.380: VibrationObject.stopEffect(5)
02:43:16.380: VibrationObject.stopEffect(2)
02:43:16.381: VibrationObject.stopEffect(3)
02:43:16.381: VibrationObject.stopEffect(4)
02:43:16.381: VibrationObject.stopEffect(5)
02:43:16.634: VibrationObject.stopEffect(5)
02:43:16.634: VibrationObject.stopEffect(2)
02:43:16.634: VibrationObject.stopEffect(3)
02:43:16.634: VibrationObject.stopEffect(4)
02:43:16.634: VibrationObject.stopEffect(5)
02:43:16.889: VibrationObject.stopEffect(5)
02:43:16.889: VibrationObject.stopEffect(2)
02:43:16.889: VibrationObject.stopEffect(3)
02:43:16.889: VibrationObject.stopEffect(4)
02:43:16.889: VibrationObject.stopEffect(5)
02:43:17.140: VibrationObject.stopEffect(5)
02:43:17.141: VibrationObject.stopEffect(2)
02:43:17.141: VibrationObject.stopEffect(3)
02:43:17.141: VibrationObject.stopEffect(4)
02:43:17.141: VibrationObject.stopEffect(5)
02:43:17.391: VibrationObject.stopEffect(5)
02:43:17.391: VibrationObject.stopEffect(2)
02:43:17.391: VibrationObject.stopEffect(3)
02:43:17.391: VibrationObject.stopEffect(4)
02:43:17.391: VibrationObject.stopEffect(5)
02:43:17.642: VibrationObject.stopEffect(5)
02:43:17.642: VibrationObject.stopEffect(2)
02:43:17.642: VibrationObject.stopEffect(3)
02:43:17.642: VibrationObject.stopEffect(4)
02:43:17.642: VibrationObject.stopEffect(5)
02:43:17.894: VibrationObject.stopEffect(5)
02:43:17.895: VibrationObject.stopEffect(2)
02:43:17.895: VibrationObject.stopEffect(3)
02:43:17.895: VibrationObject.stopEffect(4)
02:43:17.895: VibrationObject.stopEffect(5)
02:43:18.147: VibrationObject.stopEffect(5)
02:43:18.147: VibrationObject.stopEffect(2)
02:43:18.147: VibrationObject.stopEffect(3)
02:43:18.147: VibrationObject.stopEffect(4)
02:43:18.147: VibrationObject.stopEffect(5)
02:43:18.398: VibrationObject.stopEffect(5)
02:43:18.398: VibrationObject.stopEffect(2)
02:43:18.398: VibrationObject.stopEffect(3)
02:43:18.398: VibrationObject.stopEffect(4)
02:43:18.398: VibrationObject.stopEffect(5)
02:43:18.658: VibrationObject.stopEffect(5)
02:43:18.658: VibrationObject.stopEffect(2)
02:43:18.658: VibrationObject.stopEffect(3)
02:43:18.658: VibrationObject.stopEffect(4)
02:43:18.658: VibrationObject.stopEffect(5)
02:43:18.909: VibrationObject.stopEffect(5)
02:43:18.909: VibrationObject.stopEffect(2)
02:43:18.909: VibrationObject.stopEffect(3)
02:43:18.909: VibrationObject.stopEffect(4)
02:43:18.909: VibrationObject.stopEffect(5)
02:43:19.164: VibrationObject.stopEffect(5)
02:43:19.164: VibrationObject.stopEffect(2)
02:43:19.164: VibrationObject.stopEffect(3)
02:43:19.164: VibrationObject.stopEffect(4)
02:43:19.164: VibrationObject.stopEffect(5)
02:43:19.416: VibrationObject.stopEffect(5)
02:43:19.416: VibrationObject.stopEffect(2)
02:43:19.416: VibrationObject.stopEffect(3)
02:43:19.416: VibrationObject.stopEffect(4)
02:43:19.416: VibrationObject.stopEffect(5)
02:43:19.672: VibrationObject.stopEffect(5)
02:43:19.673: VibrationObject.stopEffect(2)
02:43:19.673: VibrationObject.stopEffect(3)
02:43:19.673: VibrationObject.stopEffect(4)
02:43:19.673: VibrationObject.stopEffect(5)
02:43:19.927: VibrationObject.stopEffect(5)
02:43:19.927: VibrationObject.stopEffect(2)
02:43:19.927: VibrationObject.stopEffect(3)
02:43:19.927: VibrationObject.stopEffect(4)
02:43:19.927: VibrationObject.stopEffect(5)
02:43:20.179: VibrationObject.stopEffect(5)
02:43:20.180: VibrationObject.stopEffect(2)
02:43:20.180: VibrationObject.stopEffect(3)
02:43:20.180: VibrationObject.stopEffect(4)
02:43:20.180: VibrationObject.stopEffect(5)
02:43:20.433: VibrationObject.stopEffect(5)
02:43:20.433: VibrationObject.stopEffect(2)
02:43:20.433: VibrationObject.stopEffect(3)
02:43:20.433: VibrationObject.stopEffect(4)
02:43:20.433: VibrationObject.stopEffect(5)
02:43:20.690: VibrationObject.stopEffect(5)
02:43:20.690: VibrationObject.stopEffect(2)
02:43:20.690: VibrationObject.stopEffect(3)
02:43:20.690: VibrationObject.stopEffect(4)
02:43:20.690: VibrationObject.stopEffect(5)
02:43:20.944: VibrationObject.stopEffect(5)
02:43:20.944: VibrationObject.stopEffect(2)
02:43:20.944: VibrationObject.stopEffect(3)
02:43:20.944: VibrationObject.stopEffect(4)
02:43:20.944: VibrationObject.stopEffect(5)
02:43:21.199: VibrationObject.stopEffect(5)
02:43:21.199: VibrationObject.stopEffect(2)
02:43:21.200: VibrationObject.stopEffect(3)
02:43:21.200: VibrationObject.stopEffect(4)
02:43:21.200: VibrationObject.stopEffect(5)
02:43:21.455: VibrationObject.stopEffect(5)
02:43:21.456: VibrationObject.stopEffect(2)
02:43:21.456: VibrationObject.stopEffect(3)
02:43:21.456: VibrationObject.stopEffect(4)
02:43:21.456: VibrationObject.stopEffect(5)
02:43:21.707: VibrationObject.stopEffect(5)
02:43:21.707: VibrationObject.stopEffect(2)
02:43:21.707: VibrationObject.stopEffect(3)
02:43:21.707: VibrationObject.stopEffect(4)
02:43:21.707: VibrationObject.stopEffect(5)
02:43:21.964: VibrationObject.stopEffect(5)
02:43:21.964: VibrationObject.stopEffect(2)
02:43:21.964: VibrationObject.stopEffect(3)
02:43:21.964: VibrationObject.stopEffect(4)
02:43:21.964: VibrationObject.stopEffect(5)
02:43:22.216: VibrationObject.stopEffect(5)
02:43:22.216: VibrationObject.stopEffect(2)
02:43:22.216: VibrationObject.stopEffect(3)
02:43:22.216: VibrationObject.stopEffect(4)
02:43:22.217: VibrationObject.stopEffect(5)
02:43:22.473: VibrationObject.stopEffect(5)
02:43:22.473: VibrationObject.stopEffect(2)
02:43:22.473: VibrationObject.stopEffect(3)
02:43:22.473: VibrationObject.stopEffect(4)
02:43:22.473: VibrationObject.stopEffect(5)
02:43:22.729: VibrationObject.stopEffect(5)
02:43:22.730: VibrationObject.stopEffect(2)
02:43:22.730: VibrationObject.stopEffect(3)
02:43:22.730: VibrationObject.stopEffect(4)
02:43:22.730: VibrationObject.stopEffect(5)
02:43:22.983: VibrationObject.stopEffect(5)
02:43:22.983: VibrationObject.stopEffect(2)
02:43:22.983: VibrationObject.stopEffect(3)
02:43:22.983: VibrationObject.stopEffect(4)
02:43:22.983: VibrationObject.stopEffect(5)
02:43:23.235: VibrationObject.stopEffect(5)
02:43:23.235: VibrationObject.stopEffect(2)
02:43:23.235: VibrationObject.stopEffect(3)
02:43:23.235: VibrationObject.stopEffect(4)
02:43:23.235: VibrationObject.stopEffect(5)
02:43:23.489: VibrationObject.stopEffect(5)
02:43:23.489: VibrationObject.stopEffect(2)
02:43:23.489: VibrationObject.stopEffect(3)
02:43:23.489: VibrationObject.stopEffect(4)
02:43:23.489: VibrationObject.stopEffect(5)
02:43:23.743: VibrationObject.stopEffect(5)
02:43:23.743: VibrationObject.stopEffect(2)
02:43:23.743: VibrationObject.stopEffect(3)
02:43:23.743: VibrationObject.stopEffect(4)
02:43:23.744: VibrationObject.stopEffect(5)
02:43:23.994: VibrationObject.stopEffect(5)
02:43:23.994: VibrationObject.stopEffect(2)
02:43:23.994: VibrationObject.stopEffect(3)
02:43:23.994: VibrationObject.stopEffect(4)
02:43:23.994: VibrationObject.stopEffect(5)
02:43:24.252: VibrationObject.stopEffect(5)
02:43:24.252: VibrationObject.stopEffect(2)
02:43:24.252: VibrationObject.stopEffect(3)
02:43:24.252: VibrationObject.stopEffect(4)
02:43:24.252: VibrationObject.stopEffect(5)
02:43:24.511: VibrationObject.stopEffect(5)
02:43:24.512: VibrationObject.stopEffect(2)
02:43:24.512: VibrationObject.stopEffect(3)
02:43:24.512: VibrationObject.stopEffect(4)
02:43:24.512: VibrationObject.stopEffect(5)
02:43:24.770: VibrationObject.stopEffect(5)
02:43:24.770: VibrationObject.stopEffect(2)
02:43:24.770: VibrationObject.stopEffect(3)
02:43:24.770: VibrationObject.stopEffect(4)
02:43:24.770: VibrationObject.stopEffect(5)

--- Выстрелил ---

02:43:24.965: VibrationObject.createEffect() = 13
02:43:24.965: oVibrationObject.loadEffectFromFile(effectHandle=13, fileName=vibroeffects/shot_large_veff.uwv)
02:43:24.965: VibrationObject.getEffectLength(13) = 800
02:43:24.965: VibrationObject.setEffectGain(handle=13, effectGain=100.0)
02:43:25.210: VibrationObject.stopEffect(5)
02:43:25.210: VibrationObject.stopEffect(2)
02:43:25.210: VibrationObject.stopEffect(3)
02:43:25.210: VibrationObject.stopEffect(4)
02:43:25.210: VibrationObject.stopEffect(5)
02:43:25.210: VibrationObject.setEffectGain(handle=13, effectGain=100.0)
02:43:25.710: VibrationObject.startEffect(13) # Включили
02:43:25.109: VibrationObject.connect()
02:43:25.278: VibrationObject.stopEffect(5)
02:43:25.278: VibrationObject.stopEffect(2)
02:43:25.278: VibrationObject.stopEffect(3)
02:43:25.278: VibrationObject.stopEffect(4)
02:43:25.278: VibrationObject.stopEffect(5)
02:43:25.278: VibrationObject.setEffectGain(handle=13, effectGain=100.0)
02:43:25.530: VibrationObject.stopEffect(5)
02:43:25.530: VibrationObject.stopEffect(2)
02:43:25.530: VibrationObject.stopEffect(3)
02:43:25.530: VibrationObject.stopEffect(4)
02:43:25.530: VibrationObject.stopEffect(5)
02:43:25.530: VibrationObject.setEffectGain(handle=13, effectGain=100.0)
02:43:25.787: VibrationObject.stopEffect(5)
02:43:25.787: VibrationObject.stopEffect(2)
02:43:25.787: VibrationObject.stopEffect(3)
02:43:25.787: VibrationObject.stopEffect(4)
02:43:25.787: VibrationObject.stopEffect(5)
02:43:25.787: VibrationObject.setEffectGain(handle=13, effectGain=100.0)
02:43:25.880: VibrationObject.stopEffect(13) # Выключили


02:43:26.430: VibrationObject.stopEffect(5)
02:43:26.430: VibrationObject.stopEffect(2)
02:43:26.430: VibrationObject.stopEffect(3)
02:43:26.430: VibrationObject.stopEffect(4)
02:43:26.430: VibrationObject.stopEffect(5)
02:43:26.295: VibrationObject.stopEffect(5)
02:43:26.295: VibrationObject.stopEffect(2)
02:43:26.295: VibrationObject.stopEffect(3)
02:43:26.295: VibrationObject.stopEffect(4)
02:43:26.295: VibrationObject.stopEffect(5)
02:43:26.554: VibrationObject.stopEffect(5)
02:43:26.554: VibrationObject.stopEffect(2)
02:43:26.554: VibrationObject.stopEffect(3)
02:43:26.554: VibrationObject.stopEffect(4)
02:43:26.554: VibrationObject.stopEffect(5)
02:43:26.806: VibrationObject.stopEffect(5)
02:43:26.806: VibrationObject.stopEffect(2)
02:43:26.806: VibrationObject.stopEffect(3)
02:43:26.806: VibrationObject.stopEffect(4)
02:43:26.806: VibrationObject.stopEffect(5)
02:43:27.670: VibrationObject.stopEffect(5)
02:43:27.670: VibrationObject.stopEffect(2)
02:43:27.670: VibrationObject.stopEffect(3)
02:43:27.680: VibrationObject.stopEffect(4)
02:43:27.680: VibrationObject.stopEffect(5)
02:43:27.326: VibrationObject.stopEffect(5)
02:43:27.326: VibrationObject.stopEffect(2)
02:43:27.326: VibrationObject.stopEffect(3)
02:43:27.326: VibrationObject.stopEffect(4)
02:43:27.326: VibrationObject.stopEffect(5)
02:43:27.586: VibrationObject.stopEffect(5)
02:43:27.586: VibrationObject.stopEffect(2)
02:43:27.586: VibrationObject.stopEffect(3)
02:43:27.586: VibrationObject.stopEffect(4)
02:43:27.586: VibrationObject.stopEffect(5)
02:43:27.836: VibrationObject.stopEffect(5)
02:43:27.836: VibrationObject.stopEffect(2)
02:43:27.836: VibrationObject.stopEffect(3)
02:43:27.836: VibrationObject.stopEffect(4)
02:43:27.836: VibrationObject.stopEffect(5)
02:43:28.930: VibrationObject.stopEffect(5)
02:43:28.930: VibrationObject.stopEffect(2)
02:43:28.930: VibrationObject.stopEffect(3)
02:43:28.930: VibrationObject.stopEffect(4)
02:43:28.930: VibrationObject.stopEffect(5)

--- Перезарядились ---

02:43:28.157: VibrationObject.setEffectGain(handle=12, effectGain=100.0)
02:43:28.260: VibrationObject.startEffect(12) # Включили
02:43:28.353: VibrationObject.stopEffect(5)
02:43:28.353: VibrationObject.stopEffect(2)
02:43:28.353: VibrationObject.stopEffect(3)
02:43:28.353: VibrationObject.stopEffect(4)
02:43:28.353: VibrationObject.stopEffect(5)
02:43:28.353: VibrationObject.setEffectGain(handle=12, effectGain=100.0)
02:43:28.489: VibrationObject.stopEffect(12) # Выключили
02:43:28.607: VibrationObject.stopEffect(5)
02:43:28.607: VibrationObject.stopEffect(2)
02:43:28.607: VibrationObject.stopEffect(3)
02:43:28.607: VibrationObject.stopEffect(4)
02:43:28.607: VibrationObject.stopEffect(5)
02:43:28.863: VibrationObject.stopEffect(5)
02:43:28.863: VibrationObject.stopEffect(2)
02:43:28.863: VibrationObject.stopEffect(3)
02:43:28.863: VibrationObject.stopEffect(4)
02:43:28.863: VibrationObject.stopEffect(5)
02:43:29.114: VibrationObject.stopEffect(5)
02:43:29.114: VibrationObject.stopEffect(2)
02:43:29.114: VibrationObject.stopEffect(3)
02:43:29.114: VibrationObject.stopEffect(4)
02:43:29.114: VibrationObject.stopEffect(5)
02:43:29.367: VibrationObject.stopEffect(5)
02:43:29.367: VibrationObject.stopEffect(2)
02:43:29.367: VibrationObject.stopEffect(3)
02:43:29.367: VibrationObject.stopEffect(4)
02:43:29.367: VibrationObject.stopEffect(5)
02:43:29.619: VibrationObject.stopEffect(5)
02:43:29.619: VibrationObject.stopEffect(2)
02:43:29.619: VibrationObject.stopEffect(3)
02:43:29.619: VibrationObject.stopEffect(4)
02:43:29.619: VibrationObject.stopEffect(5)
02:43:29.874: VibrationObject.stopEffect(5)
02:43:29.874: VibrationObject.stopEffect(2)
02:43:29.874: VibrationObject.stopEffect(3)
02:43:29.874: VibrationObject.stopEffect(4)
02:43:29.874: VibrationObject.stopEffect(5)
02:43:30.133: VibrationObject.stopEffect(5)
02:43:30.133: VibrationObject.stopEffect(2)
02:43:30.133: VibrationObject.stopEffect(3)
02:43:30.133: VibrationObject.stopEffect(4)
02:43:30.133: VibrationObject.stopEffect(5)
02:43:30.387: VibrationObject.stopEffect(5)
02:43:30.387: VibrationObject.stopEffect(2)
02:43:30.387: VibrationObject.stopEffect(3)
02:43:30.387: VibrationObject.stopEffect(4)
02:43:30.387: VibrationObject.stopEffect(5)
02:43:30.638: VibrationObject.stopEffect(5)
02:43:30.638: VibrationObject.stopEffect(2)
02:43:30.638: VibrationObject.stopEffect(3)
02:43:30.638: VibrationObject.stopEffect(4)
02:43:30.638: VibrationObject.stopEffect(5)
02:43:30.894: VibrationObject.stopEffect(5)
02:43:30.894: VibrationObject.stopEffect(2)
02:43:30.894: VibrationObject.stopEffect(3)
02:43:30.894: VibrationObject.stopEffect(4)
02:43:30.894: VibrationObject.stopEffect(5)
02:43:31.152: VibrationObject.stopEffect(5)
02:43:31.152: VibrationObject.stopEffect(2)
02:43:31.152: VibrationObject.stopEffect(3)
02:43:31.152: VibrationObject.stopEffect(4)
02:43:31.152: VibrationObject.stopEffect(5)
02:43:31.404: VibrationObject.stopEffect(5)
02:43:31.404: VibrationObject.stopEffect(2)
02:43:31.404: VibrationObject.stopEffect(3)
02:43:31.405: VibrationObject.stopEffect(4)
02:43:31.405: VibrationObject.stopEffect(5)
02:43:31.658: VibrationObject.stopEffect(5)
02:43:31.658: VibrationObject.stopEffect(2)
02:43:31.658: VibrationObject.stopEffect(3)
02:43:31.658: VibrationObject.stopEffect(4)
02:43:31.658: VibrationObject.stopEffect(5)
02:43:31.912: VibrationObject.stopEffect(5)
02:43:31.912: VibrationObject.stopEffect(2)
02:43:31.912: VibrationObject.stopEffect(3)
02:43:31.912: VibrationObject.stopEffect(4)
02:43:31.912: VibrationObject.stopEffect(5)
02:43:32.173: VibrationObject.stopEffect(5)
02:43:32.173: VibrationObject.stopEffect(2)
02:43:32.173: VibrationObject.stopEffect(3)
02:43:32.173: VibrationObject.stopEffect(4)
02:43:32.173: VibrationObject.stopEffect(5)
02:43:32.427: VibrationObject.stopEffect(5)
02:43:32.427: VibrationObject.stopEffect(2)
02:43:32.427: VibrationObject.stopEffect(3)
02:43:32.427: VibrationObject.stopEffect(4)
02:43:32.427: VibrationObject.stopEffect(5)
02:43:32.681: VibrationObject.stopEffect(5)
02:43:32.681: VibrationObject.stopEffect(2)
02:43:32.681: VibrationObject.stopEffect(3)
02:43:32.681: VibrationObject.stopEffect(4)
02:43:32.681: VibrationObject.stopEffect(5)
02:43:32.934: VibrationObject.stopEffect(5)
02:43:32.934: VibrationObject.stopEffect(2)
02:43:32.934: VibrationObject.stopEffect(3)
02:43:32.934: VibrationObject.stopEffect(4)
02:43:32.934: VibrationObject.stopEffect(5)
02:43:33.185: VibrationObject.stopEffect(5)
02:43:33.185: VibrationObject.stopEffect(2)
02:43:33.185: VibrationObject.stopEffect(3)
02:43:33.185: VibrationObject.stopEffect(4)
02:43:33.185: VibrationObject.stopEffect(5)
02:43:33.439: VibrationObject.stopEffect(5)
02:43:33.439: VibrationObject.stopEffect(2)
02:43:33.439: VibrationObject.stopEffect(3)
02:43:33.439: VibrationObject.stopEffect(4)
02:43:33.439: VibrationObject.stopEffect(5)
02:43:33.692: VibrationObject.stopEffect(5)
02:43:33.692: VibrationObject.stopEffect(2)
02:43:33.692: VibrationObject.stopEffect(3)
02:43:33.692: VibrationObject.stopEffect(4)
02:43:33.692: VibrationObject.stopEffect(5)
02:43:33.943: VibrationObject.stopEffect(5)
02:43:33.943: VibrationObject.stopEffect(2)
02:43:33.943: VibrationObject.stopEffect(3)
02:43:33.943: VibrationObject.stopEffect(4)
02:43:33.943: VibrationObject.stopEffect(5)
02:43:34.196: VibrationObject.stopEffect(5)
02:43:34.196: VibrationObject.stopEffect(2)
02:43:34.196: VibrationObject.stopEffect(3)
02:43:34.196: VibrationObject.stopEffect(4)
02:43:34.196: VibrationObject.stopEffect(5)
02:43:34.454: VibrationObject.stopEffect(5)
02:43:34.454: VibrationObject.stopEffect(2)
02:43:34.454: VibrationObject.stopEffect(3)
02:43:34.454: VibrationObject.stopEffect(4)
02:43:34.454: VibrationObject.stopEffect(5)
02:43:34.705: VibrationObject.stopEffect(5)
02:43:34.705: VibrationObject.stopEffect(2)
02:43:34.705: VibrationObject.stopEffect(3)
02:43:34.706: VibrationObject.stopEffect(4)
02:43:34.706: VibrationObject.stopEffect(5)
02:43:34.957: VibrationObject.stopEffect(5)
02:43:34.957: VibrationObject.stopEffect(2)
02:43:34.957: VibrationObject.stopEffect(3)
02:43:34.957: VibrationObject.stopEffect(4)
02:43:34.957: VibrationObject.stopEffect(5)
02:43:35.117: VibrationObject.connect()
02:43:35.216: VibrationObject.stopEffect(5)
02:43:35.216: VibrationObject.stopEffect(2)
02:43:35.216: VibrationObject.stopEffect(3)
02:43:35.216: VibrationObject.stopEffect(4)
02:43:35.216: VibrationObject.stopEffect(5)
02:43:35.474: VibrationObject.stopEffect(5)
02:43:35.474: VibrationObject.stopEffect(2)
02:43:35.474: VibrationObject.stopEffect(3)
02:43:35.474: VibrationObject.stopEffect(4)
02:43:35.474: VibrationObject.stopEffect(5)
PostProcessing.Phases.fini()
02:43:35.654: VibrationObject.stopEffect(2)
02:43:35.654: VibrationObject.stopEffect(3)
02:43:35.654: VibrationObject.stopEffect(4)
02:43:35.654: VibrationObject.stopEffect(5)
02:43:35.654: VibrationObject.stopEffect(11)
02:43:36.116: VibrationObject.deleteEffect(6)
02:43:36.116: VibrationObject.deleteEffect(2)
02:43:36.116: VibrationObject.deleteEffect(7)
02:43:36.116: VibrationObject.deleteEffect(3)
02:43:36.116: VibrationObject.deleteEffect(10)
02:43:36.116: VibrationObject.deleteEffect(8)
02:43:36.116: VibrationObject.deleteEffect(11)
02:43:36.116: VibrationObject.deleteEffect(4)
02:43:36.116: VibrationObject.deleteEffect(5)
02:43:36.116: VibrationObject.deleteEffect(9)
02:43:36.116: VibrationObject.deleteEffect(1)
02:43:36.116: VibrationObject.deleteEffect(13)
02:43:36.116: VibrationObject.deleteEffect(12)
\--------------------------------------------------------------------------------/

 

Т.е. теперь можно добавить в startEffect/stopEffect твой код на включение/отключение геймпада и должно работать. Ок. Для начала неплохо. Но самая Ж еще впереди:

1. Нужно каким-то образом менять амплитуду вибрирования в процессе самого вибрирования в соответствии с файлами *.uwv. (Вероятно надо как-то использовать таймер о котором говорил sirmax)

2. Нужно предусмотреть наложение нескольких эффектов.

3. Что-то еще о чем я забыл

Edited by inj3ct0r
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

У-ух... Пока лог дочитал - вечность прошла))) Должен признать, что поражен!!!

 

1. В коде всего две переменные - цифра (0-65535) оборотов для левого двигатели и правого. Может проще файлы .uwv переписать - чтобы оттуда считывать эти переменные?

2. Могу попробовать запустить два разных экземпляра скрипта запуска вибрации на геймпаде (для проверки), если ничего страшного не произойдет то "забить".

3. ...

 

Мне вот что кажется - идея с постоянно жжужащим геймпадом не совсем наверное правильная, для вибронакидки может и гуд, а вот для девайса с которого играешь нет. По логам видно что постоянно работает вибрация от "танкового двигателя" (малые обороты/средние, движение вперед/назад). С целью создания самодельной вибронакидки - это понадобится, а на геймпаде нужна возможность не запускать вибро при движении.

Share this post


Link to post

Short link
Share on other sites

Немного не так.

В этих логах танк стоит. Но постоянно выполняетсяVibrationObject.stopEffect. Хотя этот эффект и так остановлен. Думаю это их косяк.

На самом деле эффект включается при startEffect(номер эффекта в памяти), и выключается при stopEffect(номер эффекта в памяти). Все остальное время не нужно ничего делать. Я наверное попробую написать скрипт для включения жужжалки при выстреле для проверки. А дальше подумаем что делать. Мне не нравится что при выстреле эффект длится 800мс - думаю это довольно долго, если интенсивность жужжалки не будет изменятся за это время (как ее менять в это время я пока не представляю). Но для проверки пойдет.

Edited by inj3ct0r

Share this post


Link to post

Short link
Share on other sites

Немного не так.

В этих логах танк стоит. Но постоянно выполняетсяVibrationObject.stopEffect. Хотя этот эффект и так остановлен. Думаю это их косяк.

На самом деле эффект включается при startEffect(номер эффекта в памяти), и выключается при stopEffect(номер эффекта в памяти). Все остальное время не нужно ничего делать. Я наверное попробую написать скрипт для включения жужжалки при выстреле для проверки. А дальше подумаем что делать. Мне не нравится что при выстреле эффект длится 800мс - думаю это довольно долго, если интенсивность жужжалки не будет изменятся за это время (как ее менять в это время я пока не представляю). Но для проверки пойдет.

 

Ну вот что в файле виброэффектов:

  <vibration_1 comment="" zones="404" looped="false">
    <vpoint_1 time="10" amplitude="0" time_relative="false"/>
    <vpoint_2 time="10" amplitude="140" time_relative="true"/>
    <vpoint_3 time="70" amplitude="140" time_relative="true"/>
    <vpoint_4 time="70" amplitude="0" time_relative="true"/>
    <vpoint_5 time="150" amplitude="0" time_relative="false"/>
  </vibration_1>
  <vibration_2 comment="" zones="808" looped="false">
    <vpoint_1 time="200" amplitude="120" time_relative="false"/>
    <vpoint_2 time="280" amplitude="120" time_relative="true"/>
    <vpoint_3 time="280" amplitude="0" time_relative="true"/>
  </vibration_2>
  <vibration_3 comment="" zones="202" looped="false">
    <vpoint_1 time="10" amplitude="140" time_relative="false"/>
    <vpoint_2 time="210" amplitude="0" time_relative="true"/>
    <vpoint_3 time="220" amplitude="0" time_relative="true"/>
  </vibration_3>

 

Соответственно вибронакидка по разному вибрирует все эти 0,8 секунды. Низ спины (vibration_1) - 80 мс, середина спины - (vibration_2) - 480 мс и все сиденье всего 10 мс (ну или как то так, мне непонятен последний параметр).

Edited by kharlashkin

Share this post


Link to post

Short link
Share on other sites

Фак беда пришла, откуда не ждали.

  File "GamePadVibration.py", line 78, in <module>
  File "scripts/common/Lib/ctypes/__init__.py", line 10, in <module>
ImportError: No module named _ctypes

sirmax, помоги пожалуйста подключить ctypes в танки, если это вообще реально? Пробовал уже pyd'ы и lib'ы ему подсовывать - не хочет их кушать. Т.е. сам питоновский ctypes похоже где-то есть, но нет си-шного _ctypes (который dll)


Ну вот что в файле виброэффектов:

  <vibration_1 comment="" zones="404" looped="false">
    <vpoint_1 time="10" amplitude="0" time_relative="false"/>
    <vpoint_2 time="10" amplitude="140" time_relative="true"/>
    <vpoint_3 time="70" amplitude="140" time_relative="true"/>
    <vpoint_4 time="70" amplitude="0" time_relative="true"/>
    <vpoint_5 time="150" amplitude="0" time_relative="false"/>
  </vibration_1>
  <vibration_2 comment="" zones="808" looped="false">
    <vpoint_1 time="200" amplitude="120" time_relative="false"/>
    <vpoint_2 time="280" amplitude="120" time_relative="true"/>
    <vpoint_3 time="280" amplitude="0" time_relative="true"/>
  </vibration_2>
  <vibration_3 comment="" zones="202" looped="false">
    <vpoint_1 time="10" amplitude="140" time_relative="false"/>
    <vpoint_2 time="210" amplitude="0" time_relative="true"/>
    <vpoint_3 time="220" amplitude="0" time_relative="true"/>
  </vibration_3>

 

Соответственно вибронакидка по разному вибрирует все эти 0,8 секунды. Низ спины (vibration_1) - 80 мс, середина спины - (vibration_2) - 480 мс и все сиденье всего 10 мс (ну или как то так, мне непонятен последний параметр).

 

Согласен по-разному. Т.е. нужно задействовать таймер (я не знаю пока как). И еще определится как 6 движков (или сколько там) переделать под 2.

Edited by inj3ct0r

Share this post


Link to post

Short link
Share on other sites

 

 

В этих логах танк стоит. Но постоянно выполняетсяVibrationObject.stopEffect. Хотя этот эффект и так остановлен. Думаю это их косяк.

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

Share this post


Link to post

Short link
Share on other sites

 

 

Согласен по-разному. Т.е. нужно задействовать таймер (я не знаю пока как). И еще определится как 6 движков (или сколько там) переделать под 2.

Вот здесь есть информация, что движки в геймпаде разные (Note that the right motor is the high-frequency motor, the left motor is the low-frequency motor. They do not always need to be set to the same amount, as they provide different effects.), соответственно просто по разному их раскручивая - получаем разные эффекты.

'Цитата из SDK вибронакидки'

Принимается, что число моторов в общем случае равно шести, и соответственно их расположению, шесть зон накидки определяются следующим образом:

1) Сиденье – слева

2) Сиденье – справа

3) Низ спины – слева

4) Низ спины – справа

5) Середина спины – слева

6) Середина спины – справа

 

Сколько игр прошел на геймпаде (Halo, Portal, AC, Batman и др.) никто никогда не заморачивался так, как Варгейминг, все используют это для лучшей передачи игровой атмосферы, а не для массирования ягодиц :)

Share this post


Link to post

Short link
Share on other sites

Доки я смотрел. Вероятно я не так выразился. Не работает вот это из-под клиента WoT: from ctypes import *

Share this post


Link to post

Short link
Share on other sites
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...