abdullah 1 Posted July 3, 2017 собственно subj, кто знает, какая функция при этом вызывается или какое генерится событие? Quote Share this post Link to post Short link Share on other sites
ShuraBB 1,151 #396602 Posted July 3, 2017 g_playerEvents.onAvatarReady Quote Share this post Link to post Short link Share on other sites
abdullah 1 #396664 Posted July 4, 2017 спасибо! Quote Share this post Link to post Short link Share on other sites
Armagomen_UA 158 #397649 Posted July 14, 2017 (edited) import BigWorld from constants import ARENA_PERIOD BigWorld.player().arena.onPeriodChange += свояФункция свояФункция(period, *args): if period == ARENA_PERIOD.PREBATTLE: делаем что надо. class ARENA_PERIOD: IDLE = 0 WAITING = 1 PREBATTLE = 2 BATTLE = 3 AFTERBATTLE = 4 g_playerEvents.onAvatarReady Не Саня, промазал, засекание будет не верным когда загрузка законяится до момента начала отсчета :) Edited July 14, 2017 by Armagomen_dev 1 Quote Share this post Link to post Short link Share on other sites
ShuraBB 1,151 #397850 Posted July 15, 2017 >Не Саня, промазал, засекание будет не верным когда загрузка законяится до момента начала отсчета :) Отсчет начинается именно после этого. 1 Quote Share this post Link to post Short link Share on other sites
Serfer_78 2 #401897 Posted August 29, 2017 (edited) >Не Саня, промазал, засекание будет не верным когда загрузка законяится до момента начала отсчета :) Отсчет начинается именно после этого. Александр а как можно отловить событие когда собственный танк уничтожен? Пробовал вот так def hook_onVehicleDeath(self, isDeadStarted=False): result = hooked_onVehicleDeath(self, isDeadStarted=False) print('DeadVehicle') return result hooked_onVehicleDeath = Vehicle._Vehicle__onVehicleDeath Vehicle._Vehicle__onVehicleDeath = hook_onVehicleDeath Но в этом случае принтит в лог уничтожение любого танка .. Кстати ты прав таймер перед боем срабатывает именно по def hookTimer(): hookedTimer() print('RunTimer') return hookedTimer = g_playerEvents.onAvatarReady g_playerEvents.onAvatarReady=hookTimer Edited August 29, 2017 by Serfer_78 Quote Share this post Link to post Short link Share on other sites
MakcT40 331 #402014 Posted August 29, 2017 (edited) Пробовал вот так [ ... ] Но в этом случае принтит в лог уничтожение любого танка .. А если так? def hook_onVehicleDeath(self, isDeadStarted=False): if self.id == BigWorld.player().playerVehicleID: print('DeadVehicle') return hooked_onVehicleDeath(self, isDeadStarted) hooked_onVehicleDeath = Vehicle._Vehicle__onVehicleDeath Vehicle._Vehicle__onVehicleDeath = hook_onVehicleDeath Или попробуй вместо if self.id == BigWorld.player().playerVehicleID: поставить такую строку: if self.isPlayerVehicle: Edited August 29, 2017 by MakcT40 1 Quote Share this post Link to post Short link Share on other sites
Serfer_78 2 #402022 Posted August 29, 2017 (edited) А если так? def hook_onVehicleDeath(self, isDeadStarted=False): if self.id == BigWorld.player().playerVehicleID: print('DeadVehicle') return hooked_onVehicleDeath(self, isDeadStarted) hooked_onVehicleDeath = Vehicle._Vehicle__onVehicleDeath Vehicle._Vehicle__onVehicleDeath = hook_onVehicleDeath Или попробуй вместо if self.id == BigWorld.player().playerVehicleID: поставить такую строку: if self.isPlayerVehicle: Кстати пробовал ставить условие if BigWorld.player ... но т.к еще толком не освоил питон не смог правильно его сформулировать.. Попробую твой вариант , отпишусь. MakcT40 от души!!! Прям в яблочко, хук сразу как надо отработал.. Просто я там нагородил типа... player = BigWorld.player() if not player.isActiveVehicle print('DeadVehicle').....и т.д ))) Edited August 29, 2017 by Serfer_78 Quote Share this post Link to post Short link Share on other sites