inj3ct0r Posted December 18, 2013 Share Posted December 18, 2013 (edited) Ты же понимаешь, что мы не просто должны показать игре, что накидка подключена. Но еще и реально перенаправить все скрипты на твой геймпад. Короче нужно забить на все эти длл и писать через питон. Я себе представляю так: 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 December 18, 2013 by inj3ct0r Link to comment Short link Share on other sites More sharing options...
sirmax Posted December 18, 2013 Share Posted December 18, 2013 Короче нужно забить на все эти длл и писать через питон. Во-во, только хотел написать. ...\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. Link to comment Short link Share on other sites More sharing options...
inj3ct0r Posted December 18, 2013 Share Posted December 18, 2013 Рекомендую пользоваться XPM Sirmax у тебя навороченный загрузчик, неплохо бы сначала разобраться как пользоваться классами Singleton,EventHook, и методами RegisterEvent,OverrideMethod - похоже эти вещи могут пригодиться. Link to comment Short link Share on other sites More sharing options...
sirmax Posted December 18, 2013 Share Posted December 18, 2013 (edited) 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 December 18, 2013 by sirmax 2 @ Link to comment Short link Share on other sites More sharing options...
inj3ct0r Posted December 18, 2013 Share Posted December 18, 2013 (edited) Спасибо, sirmax удобные методы, работают ли они с конструктором? ... from Avatar import PlayerAvatar RegisterEvent(PlayerAvatar, 'onEnterWorld', __init__) #или так: RegisterEvent(PlayerAvatar, 'onEnterWorld', PlayerAvatar._PlayerAvatar__init__) Edited December 18, 2013 by inj3ct0r Link to comment Short link Share on other sites More sharing options...
sirmax Posted December 18, 2013 Share Posted December 18, 2013 (edited) работают ли они с конструктором?да, только RegisterEvent(PlayerAvatar, '__init__', myinit) можешь посмотреть как сделано в xvmstat Edited December 18, 2013 by sirmax 2 @ Link to comment Short link Share on other sites More sharing options...
inj3ct0r Posted December 19, 2013 Share Posted December 19, 2013 (edited) Не могу въехать. Добавил такой мод, подгружается через загрузчик 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 December 19, 2013 by inj3ct0r Link to comment Short link Share on other sites More sharing options...
sirmax Posted December 19, 2013 Share Posted December 19, 2013 ... 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..." вынести в корень. Если не будет конфликта импорта, то так даже лучше. 2 @ Link to comment Short link Share on other sites More sharing options...
inj3ct0r Posted December 19, 2013 Share Posted December 19, 2013 Sirmax как всегда оказался прав. Спасибо все заработало. А как работает BigWorld.callback(0.001, RegisterEvents)? Link to comment Short link Share on other sites More sharing options...
sirmax Posted December 19, 2013 Share Posted December 19, 2013 Sirmax как всегда оказался прав. Спасибо все заработало. А как работает BigWorld.callback(0.001, RegisterEvents)? Это просто таймер. Link to comment Short link Share on other sites More sharing options...
kharlashkin Posted December 19, 2013 Author Share Posted December 19, 2013 (edited) Доброе время суток! Я смотрю - дела идут как то у Вас ;) Показывал код программисту знакомому (жаль что к python не имеет никакого отношения). Просмотрев всё, показал мне вот что - очень много эффектов вызываются через OnceController. Можно вместо неё попробовать вызывать вот тот код который умеет "жжужать джойстиком" (дословно). Всё остальное (которое не относися к этой функции) попробовать вырезать из кода, запаковать обратно в .pyc и попробовать так запустить - мне кажется что в этом рациональное звено есть. Учитывая, что кодить на Вашем уровне я не могу - буду пробовать, а что - интересно :) Edited December 19, 2013 by kharlashkin Link to comment Short link Share on other sites More sharing options...
inj3ct0r Posted December 19, 2013 Share Posted December 19, 2013 (edited) В общем я создал тот класс о котором писал раньше (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 December 19, 2013 by inj3ct0r 1 @ Link to comment Short link Share on other sites More sharing options...
kharlashkin Posted December 19, 2013 Author Share Posted December 19, 2013 У-ух... Пока лог дочитал - вечность прошла))) Должен признать, что поражен!!! 1. В коде всего две переменные - цифра (0-65535) оборотов для левого двигатели и правого. Может проще файлы .uwv переписать - чтобы оттуда считывать эти переменные? 2. Могу попробовать запустить два разных экземпляра скрипта запуска вибрации на геймпаде (для проверки), если ничего страшного не произойдет то "забить". 3. ... Мне вот что кажется - идея с постоянно жжужащим геймпадом не совсем наверное правильная, для вибронакидки может и гуд, а вот для девайса с которого играешь нет. По логам видно что постоянно работает вибрация от "танкового двигателя" (малые обороты/средние, движение вперед/назад). С целью создания самодельной вибронакидки - это понадобится, а на геймпаде нужна возможность не запускать вибро при движении. Link to comment Short link Share on other sites More sharing options...
inj3ct0r Posted December 19, 2013 Share Posted December 19, 2013 (edited) Немного не так. В этих логах танк стоит. Но постоянно выполняетсяVibrationObject.stopEffect. Хотя этот эффект и так остановлен. Думаю это их косяк. На самом деле эффект включается при startEffect(номер эффекта в памяти), и выключается при stopEffect(номер эффекта в памяти). Все остальное время не нужно ничего делать. Я наверное попробую написать скрипт для включения жужжалки при выстреле для проверки. А дальше подумаем что делать. Мне не нравится что при выстреле эффект длится 800мс - думаю это довольно долго, если интенсивность жужжалки не будет изменятся за это время (как ее менять в это время я пока не представляю). Но для проверки пойдет. Edited December 19, 2013 by inj3ct0r Link to comment Short link Share on other sites More sharing options...
kharlashkin Posted December 19, 2013 Author Share Posted December 19, 2013 (edited) Немного не так. В этих логах танк стоит. Но постоянно выполняется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 December 19, 2013 by kharlashkin Link to comment Short link Share on other sites More sharing options...
inj3ct0r Posted December 19, 2013 Share Posted December 19, 2013 (edited) Фак беда пришла, откуда не ждали. 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 December 19, 2013 by inj3ct0r Link to comment Short link Share on other sites More sharing options...
kharlashkin Posted December 19, 2013 Author Share Posted December 19, 2013 В этих логах танк стоит. Но постоянно выполняетсяVibrationObject.stopEffect. Хотя этот эффект и так остановлен. Думаю это их косяк. "Это не бага - это фича" - разрабы возможно, делают эти эффекты постоянно работающими, но постоянно их тормозят. Если танк двинется (например на медленном ходу) то нужный эффект перестают тормозить. Link to comment Short link Share on other sites More sharing options...
Mr A Posted December 19, 2013 Share Posted December 19, 2013 подключить ctypes Доки Link to comment Short link Share on other sites More sharing options...
kharlashkin Posted December 19, 2013 Author Share Posted December 19, 2013 Согласен по-разному. Т.е. нужно задействовать таймер (я не знаю пока как). И еще определится как 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 и др.) никто никогда не заморачивался так, как Варгейминг, все используют это для лучшей передачи игровой атмосферы, а не для массирования ягодиц :) Link to comment Short link Share on other sites More sharing options...
inj3ct0r Posted December 19, 2013 Share Posted December 19, 2013 Доки Доки я смотрел. Вероятно я не так выразился. Не работает вот это из-под клиента WoT: from ctypes import * Link to comment Short link Share on other sites More sharing options...
Recommended Posts