Sib78 Posted June 26, 2017 Share Posted June 26, 2017 (edited) Здравствуйте уважаемые форумчане! Поставил перед собой задачу вывести в консоль питона из World Of Tanks значение переменной , но чувствую что не по зубам задачка , хотя с виду простая. Пример: import BigWorld import sys reload(sys) sys.setdefaultencoding('utf-8') print 'Hello' Но сообщение выводится только после закрытия А в идеале хочу вот так сделать: 'Код' import BigWorld import sys from gui import SystemMessages from Account import Account Var = 'Hello User!!!': link = Account.onBecomePlayer def _First(self): link(self) msg = 'Var' type = SystemMessages.SM_TYPE.Information SystemMessages.pushMessage(msg, type) Account.onBecomePlayer = link Account.onBecomePlayer = _First И если загрузился мод то сразу сообщение в консоль: sys.setdefaultencoding('utf-8') print 'Var' Уже несколько дней терзаю гугл и свой мозг)) Не работает... Уважаемые Гуру форума, буду признателен за любую адекватную критику и полезные ссылки. Edited June 26, 2017 by Sib78 @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted June 26, 2017 Share Posted June 26, 2017 import BigWorld def _autoFlushPythonLog(): BigWorld.flushPythonLog() BigWorld.callback(0.1, _autoFlushPythonLog) _autoFlushPythonLog() 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Sib78 Posted June 26, 2017 Author Share Posted June 26, 2017 import BigWorld def _autoFlushPythonLog(): BigWorld.flushPythonLog() BigWorld.callback(0.1, _autoFlushPythonLog) _autoFlushPythonLog() Скажите я правильно понял _autoFlushPythonLog(Var) выведет переменную в консоль? @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted June 26, 2017 Share Posted June 26, 2017 Нет Это был ответ на вопрос "Но сообщение выводится только после закрытия" @ Quote Link to comment Short link Share on other sites More sharing options...
Sib78 Posted June 26, 2017 Author Share Posted June 26, 2017 (edited) Нет Это был ответ на вопрос "Но сообщение выводится только после закрытия" Спасибо огромное за оперативную помощь и за то что откликнулись, сложновато для меня как для начинающего.. Возможно через сокеты будет по проще организовать обмен данными.. Edited June 26, 2017 by Sib78 @ Quote Link to comment Short link Share on other sites More sharing options...
Serfer_78 Posted August 24, 2017 Share Posted August 24, 2017 import BigWorld def _autoFlushPythonLog(): BigWorld.flushPythonLog() BigWorld.callback(0.1, _autoFlushPythonLog) _autoFlushPythonLog() Хук логов с обновлением через 1 десятую секунды в цикле))) Оказалось что ларчик просто открывался нужно было : import BigWorld import sys from gui import SystemMessages from Account import Account Var = 'Hello User!!!': link = Account.onBecomePlayer def _First(self): link(self) msg = 'Var' type = SystemMessages.SM_TYPE.Information SystemMessages.pushMessage(msg, type) print 'Сообщение' Account.onBecomePlayer = link Account.onBecomePlayer = _First @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted August 24, 2017 Share Posted August 24, 2017 Это ВГшный код :) Твой вариант слишком тяжелый, если нужно много логов. UPD: Только сейчас понял, что вы "консолью" называете системный канал. Или нет... Что за консоль-то? @ Quote Link to comment Short link Share on other sites More sharing options...
Serfer_78 Posted August 24, 2017 Share Posted August 24, 2017 (edited) Это ВГшный код :) Твой вариант слишком тяжелый, если нужно много логов. UPD: Только сейчас понял, что вы "консолью" называете системный канал. Или нет... Что за консоль-то? Совершенно верно , видимо я не правильно выразился, назвал консолью системный канал, изначально хотел отправлять в него события из ангара во внешнее приложение... Но решил не извращаться и запилил это дело на UDP сокетах , получилось гораздо эффективнее) А код действительно картофельный) PS: Отвечу на свой вопрос)) Есть переменная var = 5 Вывод в строковом виде... print('Per = %s' % var) Результат : 2017-08-28 22:34:44.805: INFO: 5 Edited August 29, 2017 by Serfer_78 @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.