Jump to content
Korean Random

Sib78

User
  • Content Count

    6
  • Joined

  • Last visited

Community Reputation

0 Noob

Contacts

  • Nick
    CredoNev
  1. Вот в том то и дело.. В середине .. В питоне я чисто интуитивно все это нахожу так как программировал в основном на Autoit и Delphi , а по поводу отследить загрузку ангара... В этой теме разговор был . Вот только не соображу как правильно на питоне все это оформляется. from gui.shared import events, g_eventBus def onLobbyLoaded(event): pass g_eventBus.addListener(events.GUICommonEvent.LOBBY_VIEW_LOADED, onLobbyLoaded) Тут я вижу что из gui.shared импортируется events для использования в коде мода.. Далее объявляется функция onLobbyLoaded и наверное скорее всего ей передается какой о параметр (event) .. А в место кода функции заглушка. Последняя строка темный лес))) И не совсем понятно как создать условие проверки полной загрузки ангара на питоне , так как не ясно где содержится результат выполнения выше приведенной функции. Если не трудно раскомментируйте выше приведенный код пожалуйста. Тогда уж точно смогу сообразить что к чему. В теме отписались что этот код рабочий и если бы я писал на автоите то сделал бы так: $angar = 'Код проверки' ; проверка состояния ангара результат сохранится в переменной $angar If $angar == True Then ; если состояние = истина UDPSend($socket, $data) ; отправляем сообщение EndIf ; окончание условия на дельфине тоже все просто if (условие) then begin //Если условие верно, выполняем действия end else begin //Если условие не верно, выполняем действия end; А вот с питоном еще не разобрался куда сохраняется результат . И как правильно его проверить .
  2. Здравствуйте! Столкнулся с проблемой... Пытаюсь отправить сообщение во внешнюю программу расположенную в локальной сети: Мод ложу в папку mods. В моде код клиента UDP который ниже... import socket import sys UDP_IP = '127.0.0.1' UDP_PORT = 7777 MESSAGE = 'Hello, World!' sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.sendto(MESSAGE, (UDP_IP, UDP_PORT)) Сообщение доходит до адресата и выводится в виде надписи "Hello, World!" в окне сервера но 1) Раньше времени, нужно получить сообщение после загрузки ангара ,а отправляется намного раньше. 2) Загрузка клиента world of tanks зависает на половине после отправки сообщения и дальше только выход помогает. А это код сервера. import socket UDP_IP = "127.0.0.1" UDP_PORT = 7777 sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.bind((UDP_IP, UDP_PORT)) while True: data, addr = sock.recvfrom(1024) # buffer size is 1024 bytes print "received message:", data Ребята подскажите пожалуйста что не так делаю? Может у кого то уже получалось удачно проделать подобный фокус? А вот так уже лучше.. Сохранил код клиента UDP ( из сообщения выше) отдельным файлом "serv_message.pyc" и попытался его подгрузить таким методом.. import BigWorld import serv_message 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 serv_message.init() Account.onBecomePlayer = _First Лаунчер танков загрузился без проблем, но сообщение все так же приходит на сервер не вовремя, т.е где то по середине загрузки клиента игры.. А хотелось бы принять его по окончании, когда в ангаре выскочит message - 'Hello User!!!' WOT работает на UDP , может можно где то в исходниках подсмотреть как правильно организовать обмен данными с внешним приложением по этому протоколу? Подскажите путь истинный ребята)) Зеленоват я в питоне, но схватываю на лету. Может есть уже где то похожие реализации, с удовольствием бы взглянул на алгоритмы. Я конечно могу со своим уровнем познаний написать костыльный велосипед )) , но хочется научиться писать правильны читабельный код , по этому обращаюсь к настоящим знатокам этого дела...
  3. Спасибо огромное за оперативную помощь и за то что откликнулись, сложновато для меня как для начинающего.. Возможно через сокеты будет по проще организовать обмен данными..
  4. Скажите я правильно понял _autoFlushPythonLog(Var) выведет переменную в консоль?
  5. Здравствуйте уважаемые форумчане! Поставил перед собой задачу вывести в консоль питона из World Of Tanks значение переменной , но чувствую что не по зубам задачка , хотя с виду простая. Пример: import BigWorld import sys reload(sys) sys.setdefaultencoding('utf-8') print 'Hello' Но сообщение выводится только после закрытия А в идеале хочу вот так сделать: 'Код' И если загрузился мод то сразу сообщение в консоль: sys.setdefaultencoding('utf-8') print 'Var' Уже несколько дней терзаю гугл и свой мозг)) Не работает... Уважаемые Гуру форума, буду признателен за любую адекватную критику и полезные ссылки.
×
×
  • Create New...