e2028030 E e2028030 Регистрация 11 Мар 2014 Сообщения 91 Репутация 0 Спасибо 0 Монет 0 21 Мар 2015 #1 Подскажите как можно реализовать выполнение отправки сообщения с задержкой и проверкой условия? Есть функция: Код: def message(msg, sec = 3, toggle = False): if toggle: g_windowsManager.battleWindow.call('battle.PlayerMessagesPanel.ShowMessage', ['0', msg, 'red']) Как её модифицировать, чтобы проверка условия toggle и отправка сообщения выполнялась через sec секунд после обращения к функции (причём чтобы весь остальной скрипт останавливать не пришлось)?
Подскажите как можно реализовать выполнение отправки сообщения с задержкой и проверкой условия? Есть функция: Код: def message(msg, sec = 3, toggle = False): if toggle: g_windowsManager.battleWindow.call('battle.PlayerMessagesPanel.ShowMessage', ['0', msg, 'red']) Как её модифицировать, чтобы проверка условия toggle и отправка сообщения выполнялась через sec секунд после обращения к функции (причём чтобы весь остальной скрипт останавливать не пришлось)?
parreto P parreto Регистрация 30 Июн 2014 Сообщения 24 Репутация 50 Спасибо 2 Монет 0 21 Мар 2015 #2 Код: import BigWorld def message(msg, sec = 3, toggle = False): t=BigWorld.time() def sleep(): if BigWorld.time()-t>sec: if toggle: g_windowsManager.battleWindow.call('battle.PlayerMessagesPanel.ShowMessage', ['0', msg, 'red']) else: BigWorld.callback(0.1, sleep) sleep() Перед обращением к функции просто запиши в переменную время. Можно поменять местами If BigWorld,time()-t<sec: BigWorld.callback(0.1, sleep) else: ... Последнее редактирование: 21 Мар 2015 Позитивный голос 0
Код: import BigWorld def message(msg, sec = 3, toggle = False): t=BigWorld.time() def sleep(): if BigWorld.time()-t>sec: if toggle: g_windowsManager.battleWindow.call('battle.PlayerMessagesPanel.ShowMessage', ['0', msg, 'red']) else: BigWorld.callback(0.1, sleep) sleep() Перед обращением к функции просто запиши в переменную время. Можно поменять местами If BigWorld,time()-t<sec: BigWorld.callback(0.1, sleep) else: ...
e2028030 E e2028030 Регистрация 11 Мар 2014 Сообщения 91 Репутация 0 Спасибо 0 Монет 0 24 Мар 2015 #3 Благодарствую, помогло. А как функция BigWorld.callback() работает? Она новый поток создает? Позитивный голос 0