Jump to content
Korean Random

dimank26

User
  • Content Count

    44
  • Joined

  • Last visited

Everything posted by dimank26

  1. Как получить список тренировочных комнат и информацию о них? Так понял, что нужно делать через фильтр, как с друзьями которые онлайн например.
  2. from gui import SystemMessages from messenger import MessengerEntry from constants import PREBATTLE_TYPE from messenger.m_constants import PROTO_TYPE, LAZY_CHANNEL class CommonChannelCriteria(object): def filter(self, channel): return channel.getName() == LAZY_CHANNEL.COMMON ctrl = MessengerEntry.g_instance.gui.channelsCtrl.getControllerByCriteria(CommonChannelCriteria()) ctrl.sendMessage(u"Hello World!".encode('utf-8'))
  3. Проблему решил, тема закрыта, нужно было поставить CONNECTION_METHOD.BASIC
  4. Как сделать чтобы автоматический вводились данные при логине? Логин, пароль и авторизация сама. Покапался и получился примерно такой код, но бесконечная загрузка идёт from gui.login.manager import _WgcModeManager from gui.login.Servers import Servers, DevelopmentServers from gui.Scaleform.daapi.view.login.loginview import LoginView from skeletons.connection_mgr import IConnectionManager from skeletons.gui.login_manager import ILoginManager from helpers import getFullClientVersion, dependency, uniprof import BigWorld class LoginUser(object): loginManager = dependency.descriptor(ILoginManager) connectionMgr = dependency.descriptor(IConnectionManager) def __init__(self, ctx=None): self._servers = self.loginManager.servers print self._servers.selectedServer return LoginView().onLogin("[email protected]","password",self._servers.selectedServer,True) LoginUser()
  5. Получаю channelID, с помощью channel.getID() Пример приватного чат ид который выходит: "[email protected]" Пытаюсь отправить в него сообщение и появляется ошибка в питоне "ContactBareJID" BigWorld.player().broadcast(channel.getID(), "Hello") В чём ошибка?
  6. Как закрыть приватный канал? Если через BigWorld.player().leaveChat(channelID) не получается
  7. Создать приватный канал не получается, использую createPrivate через BigWorld
  8. Как получить список и информацию игроков в результатах боя? (ник, сколько урона нанёс и т.д.) Понял как, battle_results -> PlayerInfo
  9. Научился открывать чат) Чат открывается, но как туда отправить сообщение? BigWorld.player().createPrivate(117171581, "_3HaKoMo")
  10. Через keys узнал, что в chatAction (для print) есть атрибуты, как вытащить их них можно значение? Получилось вытащить данные через ChatAction.values() Как можно теперь написать в лс игроку? Передаются ещё такие данные: (originator: 25021936L) originator - видимо ид пользователя?
  11. данные в формате yaml приходят в ответ, можно как-то конвертнуть. При попытке подключить модуль yaml выдаёт ошибку ImportError: No module named yaml
  12. Для вербовки в клан самое то, но каждый судит в меру своей испорченности
  13. Я вроде не спрашивал о последствиях,а спросил,как можно реализовать
  14. Как можно отправить сообщение всем игрокам в результатах боя ? Так понимаю, что нужен список их ID получить и отправить сообщение и везде подставить их ид-шники. Но как эт можно реализовать?
  15. Хм... Буду пробовать, спасибо, если найду, то поделюсь)
  16. да уже сделал, а можно как-то нажимать кнопку "В бой",как только она станет доступна автоматический?) from gui.prb_control.dispatcher import g_prbLoader from gui.prb_control.entities.base.ctx import PrbAction prbDispatcher = g_prbLoader.getDispatcher() prbDispatcher.doAction(PrbAction('', mapID=0)) Нашёл на форуме,как активировать кнопку "В бой"))00
  17. # -*- coding: utf-8 -*- from gui.SystemMessages import SM_TYPE from gui.SystemMessages import pushMessage from gui.Scaleform.daapi.view.lobby.LobbyView import LobbyView class EventHook(object): def __init__(self): self.__handlers = [] def __iadd__(self, handler): self.__handlers.append(handler) return self def __isub__(self, handler): if handler in self.__handlers: self.__handlers.remove(handler) return self def fire(self, *args, **keywargs): for handler in self.__handlers: handler(*args, **keywargs) def clearObjectHandlers(self, inObject): for theHandler in self.__handlers: if theHandler.im_self == inObject: self -= theHandler class HookMethod(object): def __init__(self): self.log = self.log_exception self.registerEvent = self.hook_decorator(self.register_event) self.overrideMethod = self.hook_decorator(self.override_method) self.overrideClassMethod = self.hook_decorator(self.override_classmethod) self.overrideStaticMethod = self.hook_decorator(self.override_staticmethod) def logtrace(self, func=None): import traceback, sys print '=' * 20 + ' [ekspointCore] - detected error start '.upper() + '=' * 20 if func: logging = [] etype, value, tb = sys.exc_info() co_filename = func.func_code.co_filename.replace('\\', '/') filename = co_filename.split('/')[co_filename.count('/')].replace('.pyc', '').replace('.py', '') if co_filename.count('/') else co_filename for scriptName in sys.modules.keys(): if filename in scriptName: scriptDir = str(sys.modules[scriptName]).split('from')[1].replace(' ', '').replace('>', '').replace("'", '') for values in traceback.format_exception(etype, value, tb): if func.func_code.co_filename in values: values = ' File "%s", line %d, in %s\n' % (scriptDir, tb.tb_lineno, func.func_code.co_name) logging.append(values) count = len(logging) - 1 logging[count] = logging[count].replace('\n', '') print ''.join(logging) else: traceback.print_stack() print '=' * 20 + ' [ekspointCore] - detected error stop '.upper() + '=' * 21 def event_handler(self, func, prepend, e, m, *a, **k): try: if prepend: e.fire(*a, **k) r = m(*a, **k) else: r = m(*a, **k) e.fire(*a, **k) return r except: self.logtrace(func) def override_handler(self, func, orig, *a, **k): try: return func(orig, *a, **k) except: self.logtrace(func) def log_exception(self, func): def exception(*a, **k): try: return func(*a, **k) except: self.logtrace(func) return exception def hook_decorator(self, func): def decorator1(*a, **k): def decorator2(handler): func(handler, *a, **k) return decorator2 return decorator1 def override(self, cls, method, newm): orig = getattr(cls, method) if type(orig) is not property: setattr(cls, method, newm) else: setattr(cls, method, property(newm)) def register_event(self, handler, cls, method, prepend = False): evt = '__event_%i_%s' % (1 if prepend else 0, method) if hasattr(cls, evt): e = getattr(cls, evt) else: newm = '__orig_%i_%s' % (1 if prepend else 0, method) setattr(cls, evt, EventHook()) setattr(cls, newm, getattr(cls, method)) e = getattr(cls, evt) m = getattr(cls, newm) l = lambda *a, **k: self.event_handler(handler, prepend, e, m, *a, **k) l.__name__ = method setattr(cls, method, l) e += handler def override_method(self, handler, cls, method): orig = getattr(cls, method) newm = lambda *a, **k: self.override_handler(handler, orig, *a, **k) newm.__name__ = method self.override(cls, method, newm) def override_staticmethod(self, handler, cls, method): orig = getattr(cls, method) newm = staticmethod(lambda *a, **k: self.override_handler(handler, orig, *a, **k)) self.override(cls, method, newm) def override_classmethod(self, handler, cls, method): orig = getattr(cls, method) newm = classmethod(lambda *a, **k: self.override_handler(handler, orig, *a, **k)) self.override(cls, method, newm) hookMethod = HookMethod() show = True @hookMethod.registerEvent(LobbyView, '_populate') @hookMethod.log def populate(self): global show if show: show = False pushMessage(u'<font color="#D042F3">Hello world</font>', SM_TYPE.GameGreeting) # если в классе то так class Hello(object): def __init__(self): self.show = True hookMethod.registerEvent(LobbyView, '_populate')(hookMethod.log(self.populate)) def populate(self, base_self): if self.show: self.show = False pushMessage(u'Mod Informations<br>Version 0.1<br>Site: koreanrandom.com', SM_TYPE.GameGreeting) Hello() Скомпилируешь и закинь файл .pyc в res_mods/версия_игры/scripts/client/gui/mods Правда это сообщение, если нужно с окном, то могу написать, главное ответь в теме,если актуально ещё
  18. Да, спасибо, исправил, ща всё работает)))
  19. Каким образом можно открыть/закрыть общий чат?
×
×
  • Create New...