Jump to content
Korean Random

OrchidMantis

Newbie
  • Content Count

    4
  • Joined

  • Last visited

Everything posted by OrchidMantis

  1. Автор, у тебя получилось хукнуть что-то из этого модуля?
  2. from gui.game_control.browsercontroller import BrowserController def hookedCreateBrowser(self, ctx): print 'test newcreateBrowser', self, ctx if browserID in self._BrowserController__browsers: _logger.info('CTRL: Deleting a werwebrowser: %s', browserID) browser = self._BrowserController__browsers.pop(browserID) self._BrowserController__clearCallbacks(browserID, browser, True) browser.destroy() print 'deleted' if self._BrowserController__creatingBrowserID == browserID: self._BrowserController__creatingBrowserID = None self._BrowserController__tryCreateNextPendingBrowser() if browserID in self._BrowserController__pendingBrowsers: del self._BrowserController__pendingBrowsers[browserID] self.onBrowserDeleted(browserID) return hookCreateBrowser(self, ctx) def hookedDelBrowser(self, browserID): #выводишь вменяемое сообщение в лог print 'test newDelBrowser', self, browserID #возвращаешь обратно оригинальную функцию browserID = ctx['browserID'] _logger.info('CTRL: Creating a browserwer: %r - %s', browserID, ctx['url']) self._BrowserController__creatingBrowserID = browserID browser = self._BrowserController__browsers[browserID] if browser.create(): self.onBrowserAdded(browserID) def createNextBrowser(): _logger.info('CTRL: Triggering werwercreate of next browser from: %s', browserID) creation = self._BrowserController__browserCreationCallbacks.pop(browserID, None) if creation is not None: self._BrowserController__browsers[browserID].onCanCreateNewBrowser = self._BrowserController__browsers[ browserID].onCanCreateNewBrowser - creation BigWorld.callback(1.0, self._BrowserController__tryCreateNextPendingBrowser) def failedCreationCallback(url): _logger.info('CTRL: Failed awerwer creation: %r - %s', browserID, url) self._BrowserController__clearCallbacks(browserID, self._BrowserController__browsers[browserID], False) self.delBrowser(browserID) def successfulCreationCallback(url, isLoaded, httpStatusCode=None): _logger.info('CTRL: Ready towerwer show: %r - %r - %s', browserID, isLoaded, url) self._BrowserController__clearCallbacks(browserID, self._BrowserController__browsers[browserID], False) if isLoaded: self._BrowserController__showBrowser(browserID, ctx) else: _logger.warning('Browser requestwerwer url %s was not loaded!', url) g_eventBus.handleEvent(BrowserEvent(BrowserEvent.BROWSER_CREATED, ctx=ctx)) self._BrowserController__createDone(ctx) def titleUpdateCallback(title): ctx['title'] = title browser.onCanCreateNewBrowser = browser.onCanCreateNewBrowser + createNextBrowser self._BrowserController__browserCreationCallbacks[browserID] = createNextBrowser browser.onFailedCreation = browser.onFailedCreation + failedCreationCallback browser.onTitleChange = browser.onTitleChange + titleUpdateCallback if ctx['isAsync']: self._BrowserController__browsersCallbacks[browserID] = ( None, successfulCreationCallback, failedCreationCallback, titleUpdateCallback) browser.onLoadEnd = browser.onLoadEnd + successfulCreationCallback else: self._BrowserController__browsersCallbacks[browserID] = ( successfulCreationCallback, None, failedCreationCallback, titleUpdateCallback) browser.onReady = browser.onReady + successfulCreationCallback return else: _logger.info('CTRL: Failed the create step erwer: %r', browserID) self.delBrowser(browserID) self._BrowserController__tryCreateNextPendingBrowser() return return hookDelBrowser(self, browserID) # Хукаешь функцию, сохраняя старую в переменную print dir(BrowserController) hookDelBrowser = BrowserController.delBrowser hookCreateBrowser = BrowserController._BrowserController__createBrowser #Вместо оригинала сохраняешь свою версию хукнутой функции BrowserController.delBrowser = hookedCreateBrowser BrowserController._BrowserController__createBrowser = hookedDelBrowser print 'hooked' p.s. Часть кода принадлежит spoter'у Кто поможет, подарю акк в овертвотче с привязкой почты и телефона
  3. @StranikS_ScanЗдравствуйте! Простите, что тут пишу, но можно с вами связаться черех телеграм или другим удобным вам способом? Проблемы с самописным модом((
×
×
  • Create New...