CyToTV 10 Posted July 27, 2015 Как добавить в контекстное меню (когда нажимаешь на игрока в лс пкм) пункт "123" и чтоб когда нажимаешь создавалось новое окно с браузером и ссылкой http://сайт/profile.php?name=и тут ник этого игрока... помогите.... прошу Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #285027 Posted July 27, 2015 (edited) Как добавить в контекстное меню (когда нажимаешь на игрока в лс пкм) пункт "123" и чтоб когда нажимаешь создавалось новое окно с браузером и ссылкой http://сайт/profile.php?name=и тут ник этого игрока... помогите.... прошуГде именно? В контактах или чатике? Скорее всего нужно ковырять питон. Например в файле https://bitbucket.org/XVM/xvm/src/42edc723050215de4e83be57edc7ebc048edf28c/src/xpm/xvm_contacts/__init__.py?at=default Edited July 28, 2015 by ShadowHunterRUS Quote Share this post Link to post Short link Share on other sites
CyToTV 10 #285199 Posted July 27, 2015 from gui import game_control from adisp import process @process def openBrowserWindow(playerNickName, playerId): _url = 'http://www.noobmeter.com/player/ru/{0}/{1}/='.format(playerNickName,playerId) _title = 'Статистика товарища ({0})'.format(playerNickName) _width = 800 _height = 600 _browserSize = [_width, _height] yield game_control.g_instance.browser.load(_url, \ _title, \ showActionBtn=False, \ browserSize=_browserSize) class MENU(object): XVM_EDIT_CONTACT_DATA = 'XvmEditContactData' OPEN_PLAYER_WEBBROWSER = 'OpenPlayerWebBrowser' def PlayerContactsCMHandler_getHandlers(base, self): handlers = base(self) handlers.update({MENU.XVM_EDIT_CONTACT_DATA: '_XvmEditContactData'}) handlers.update({MENU.OPEN_PLAYER_WEBBROWSER: '_OpenPlayerWebBrowser'}) return handlers def _OpenPlayerWebBrowser(self): openBrowserWindow(self.userName, self.databaseID) def PlayerContactsCMHandler_generateOptions(base, self): options = base(self) options.append(self._makeItem(MENU.XVM_EDIT_CONTACT_DATA, l10n('Edit data'), optInitData={'enabled': contacts.isAvailable()})) options.append(self._makeItem(MENU.OPEN_PLAYER_WEBBROWSER, 'Открыть мое окошко', optInitData={'enabled': True})) return options def _RegisterEvents(): start() from messenger.gui.Scaleform.view.ContactsListPopover import ContactsListPopover RegisterEvent(ContactsListPopover, '_populate', ContactsListPopover_populate) from messenger.gui.Scaleform.data.contacts_vo_converter import ContactConverter OverrideMethod(ContactConverter, 'makeVO', ContactConverter_makeVO) from messenger.gui.Scaleform.data.contacts_cm_handlers import PlayerContactsCMHandler OverrideMethod(PlayerContactsCMHandler, '_getHandlers', PlayerContactsCMHandler_getHandlers) OverrideMethod(PlayerContactsCMHandler, '_generateOptions', PlayerContactsCMHandler_generateOptions) PlayerContactsCMHandler._XvmEditContactData = _XvmEditContactData PlayerContactsCMHandler._OpenPlayerWebBrowser = _OpenPlayerWebBrowser слушай, а куда это вставлять то, отдельным модом или куда, я прост новичек =) Quote Share this post Link to post Short link Share on other sites
CyToTV 10 #285244 Posted July 28, 2015 Умоляю, помоги..... Где именно? В контактах или чатике? Скорее всего нужно ковырять swf. Например в файле https://bitbucket.org/XVM/xvm/src/42edc723050215de4e83be57edc7ebc048edf28c/src/xpm/xvm_contacts/__init__.py?at=default заменить оригинальные на такие функции from gui import game_control from adisp import process @process def openBrowserWindow(playerNickName, playerId): _url = 'http://www.noobmeter.com/player/ru/{0}/{1}/='.format(playerNickName, playerId) _title = 'Статистика товарища ({0})'.format(playerNickName) _width = 800 _height = 600 _browserSize = [_width, _height] yield game_control.g_instance.browser.load(_url, \ _title, \ showActionBtn=False, \ browserSize=_browserSize) class MENU(object): XVM_EDIT_CONTACT_DATA = 'XvmEditContactData' OPEN_PLAYER_WEBBROWSER = 'OpenPlayerWebBrowser' def PlayerContactsCMHandler_getHandlers(base, self): handlers = base(self) handlers.update({MENU.XVM_EDIT_CONTACT_DATA: '_XvmEditContactData'}) handlers.update({MENU.OPEN_PLAYER_WEBBROWSER: '_OpenPlayerWebBrowser'}) return handlers def _OpenPlayerWebBrowser(self): openBrowserWindow(self.userName, self.databaseID) def PlayerContactsCMHandler_generateOptions(base, self): options = base(self) options.append(self._makeItem(MENU.XVM_EDIT_CONTACT_DATA, l10n('Edit data'), optInitData={'enabled': contacts.isAvailable()})) options.append(self._makeItem(MENU.OPEN_PLAYER_WEBBROWSER, 'Открыть мое окошко', optInitData={'enabled': True})) return options def _RegisterEvents(): start() from messenger.gui.Scaleform.view.ContactsListPopover import ContactsListPopover RegisterEvent(ContactsListPopover, '_populate', ContactsListPopover_populate) from messenger.gui.Scaleform.data.contacts_vo_converter import ContactConverter OverrideMethod(ContactConverter, 'makeVO', ContactConverter_makeVO) from messenger.gui.Scaleform.data.contacts_cm_handlers import PlayerContactsCMHandler OverrideMethod(PlayerContactsCMHandler, '_getHandlers', PlayerContactsCMHandler_getHandlers) OverrideMethod(PlayerContactsCMHandler, '_generateOptions', PlayerContactsCMHandler_generateOptions) PlayerContactsCMHandler._XvmEditContactData = _XvmEditContactData PlayerContactsCMHandler._OpenPlayerWebBrowser = _OpenPlayerWebBrowser Я этот код не проверял. Слушай, может в команду пойдёшь? Нам спеца по питону не хватает) мы сейчас делаем оч интересный проект, вот скайп: stepan_wifi Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #285252 Posted July 28, 2015 (edited) слушай, а куда это вставлять то res_mods\mods\packages\xvm_contacts\python\__init__.pyc XFW_MOD_INFO = { 'VERSION': '3.1.0', 'URL': 'http://www.modxvm.com/', 'UPDATE_URL': 'http://www.modxvm.com/en/download-xvm/', 'GAME_VERSIONS': ['0.9.9'], } class COMMANDS(object): AS_EDIT_CONTACT_DATA = "xvm_contacts.as_edit_contact_data" class MENU(object): XVM_EDIT_CONTACT_DATA = 'XvmEditContactData' OPEN_PLAYER_WEBBROWSER = 'OpenPlayerWebBrowser' class VIEW(object): XVM_EDIT_CONTACT_DATA_ALIAS = 'XvmEditContactDataView' import traceback import BigWorld from xfw import * from xvm_main.python.logger import * from xvm_main.python.xvm import l10n import contacts from adisp import process @process def openBrowserWindow(playerNickName, playerId): from gui import game_control _url = 'http://www.noobmeter.com/player/ru/{0}/{1}/'.format(playerNickName, playerId) _title = 'Статистика товарища ({0})'.format(playerNickName) _width = 800 _height = 600 _browserSize = [_width, _height] yield game_control.g_instance.browser.load(_url, \ _title, \ showActionBtn=False, \ browserSize=_browserSize) def start(): import view from gui.Scaleform.framework import g_entitiesFactories, ViewSettings, ViewTypes, ScopeTemplates from gui.Scaleform.framework.entities.View import View g_entitiesFactories.addSettings(ViewSettings( VIEW.XVM_EDIT_CONTACT_DATA_ALIAS, view.XvmEditContactDataView, None, ViewTypes.COMPONENT, None, ScopeTemplates.DEFAULT_SCOPE)) def ContactsListPopover_populate(self): contacts.initialize() def ContactConverter_makeVO(base, self, contact, includeIcons = True): res = base(self, contact, includeIcons) if contacts.isAvailable(): res.update({'xvm_contact_data':contacts.getXvmContactData(contact.getID())}) return res def PlayerContactsCMHandler_getHandlers(base, self): handlers = base(self) handlers.update({MENU.XVM_EDIT_CONTACT_DATA: '_XvmEditContactData'}) handlers.update({MENU.OPEN_PLAYER_WEBBROWSER: '_OpenPlayerWebBrowser'}) return handlers def _OpenPlayerWebBrowser(self): openBrowserWindow(self.userName, self.databaseID) def PlayerContactsCMHandler_generateOptions(base, self): options = base(self) options.append(self._makeItem(MENU.XVM_EDIT_CONTACT_DATA, l10n('Edit data'), optInitData={'enabled': contacts.isAvailable()})) options.append(self._makeItem(MENU.OPEN_PLAYER_WEBBROWSER, 'Открыть мое окошко', optInitData={'enabled': True})) return options def _XvmEditContactData(self): as_xfw_cmd(COMMANDS.AS_EDIT_CONTACT_DATA, self.userName, self.databaseID) def _RegisterEvents(): start() from messenger.gui.Scaleform.view.ContactsListPopover import ContactsListPopover RegisterEvent(ContactsListPopover, '_populate', ContactsListPopover_populate) from messenger.gui.Scaleform.data.contacts_vo_converter import ContactConverter OverrideMethod(ContactConverter, 'makeVO', ContactConverter_makeVO) from messenger.gui.Scaleform.data.contacts_cm_handlers import PlayerContactsCMHandler OverrideMethod(PlayerContactsCMHandler, '_getHandlers', PlayerContactsCMHandler_getHandlers) OverrideMethod(PlayerContactsCMHandler, '_generateOptions', PlayerContactsCMHandler_generateOptions) PlayerContactsCMHandler._XvmEditContactData = _XvmEditContactData PlayerContactsCMHandler._OpenPlayerWebBrowser = _OpenPlayerWebBrowser BigWorld.callback(0, _RegisterEvents) Edited July 29, 2015 by ShadowHunterRUS Quote Share this post Link to post Short link Share on other sites
CyToTV 10 #285262 Posted July 28, 2015 res_mods\mods\packages\xvm_contacts\python\__init__.pyc XFW_MOD_INFO = { 'VERSION': '3.1.0', 'URL': 'http://www.modxvm.com/', 'UPDATE_URL': 'http://www.modxvm.com/en/download-xvm/', 'GAME_VERSIONS': ['0.9.9'], } class COMMANDS(object): AS_EDIT_CONTACT_DATA = "xvm_contacts.as_edit_contact_data" class MENU(object): XVM_EDIT_CONTACT_DATA = 'XvmEditContactData' OPEN_PLAYER_WEBBROWSER = 'OpenPlayerWebBrowser' class VIEW(object): XVM_EDIT_CONTACT_DATA_ALIAS = 'XvmEditContactDataView' import traceback import BigWorld from xfw import * from xvm_main.python.logger import * from xvm_main.python.xvm import l10n import contacts from gui import game_control from adisp import process @process def openBrowserWindow(playerNickName, playerId): _url = 'http://www.noobmeter.com/player/ru/{0}/{1}/='.format(playerNickName, playerId) _title = 'Статистика товарища ({0})'.format(playerNickName) _width = 800 _height = 600 _browserSize = [_width, _height] yield game_control.g_instance.browser.load(_url, \ _title, \ showActionBtn=False, \ browserSize=_browserSize) def start(): import view from gui.Scaleform.framework import g_entitiesFactories, ViewSettings, ViewTypes, ScopeTemplates from gui.Scaleform.framework.entities.View import View g_entitiesFactories.addSettings(ViewSettings( VIEW.XVM_EDIT_CONTACT_DATA_ALIAS, view.XvmEditContactDataView, None, ViewTypes.COMPONENT, None, ScopeTemplates.DEFAULT_SCOPE)) def ContactsListPopover_populate(self): contacts.initialize() def ContactConverter_makeVO(base, self, contact, includeIcons = True): res = base(self, contact, includeIcons) if contacts.isAvailable(): res.update({'xvm_contact_data':contacts.getXvmContactData(contact.getID())}) return res def PlayerContactsCMHandler_getHandlers(base, self): handlers = base(self) handlers.update({MENU.XVM_EDIT_CONTACT_DATA: '_XvmEditContactData'}) handlers.update({MENU.OPEN_PLAYER_WEBBROWSER: '_OpenPlayerWebBrowser'}) return handlers def _OpenPlayerWebBrowser(self): openBrowserWindow(self.userName, self.databaseID) def PlayerContactsCMHandler_generateOptions(base, self): options = base(self) options.append(self._makeItem(MENU.XVM_EDIT_CONTACT_DATA, l10n('Edit data'), optInitData={'enabled': contacts.isAvailable()})) options.append(self._makeItem(MENU.OPEN_PLAYER_WEBBROWSER, 'Открыть мое окошко', optInitData={'enabled': True})) return options def _XvmEditContactData(self): as_xfw_cmd(COMMANDS.AS_EDIT_CONTACT_DATA, self.userName, self.databaseID) def _RegisterEvents(): start() from messenger.gui.Scaleform.view.ContactsListPopover import ContactsListPopover RegisterEvent(ContactsListPopover, '_populate', ContactsListPopover_populate) from messenger.gui.Scaleform.data.contacts_vo_converter import ContactConverter OverrideMethod(ContactConverter, 'makeVO', ContactConverter_makeVO) from messenger.gui.Scaleform.data.contacts_cm_handlers import PlayerContactsCMHandler OverrideMethod(PlayerContactsCMHandler, '_getHandlers', PlayerContactsCMHandler_getHandlers) OverrideMethod(PlayerContactsCMHandler, '_generateOptions', PlayerContactsCMHandler_generateOptions) PlayerContactsCMHandler._XvmEditContactData = _XvmEditContactData PlayerContactsCMHandler._OpenPlayerWebBrowser = _OpenPlayerWebBrowser BigWorld.callback(0, _RegisterEvents) слушай, а мод не работает =( слушай, а мод не работает =( вот тебе лог /------------------------------------------------------------------------------------------\ BigWorld worldoftanks 2.8.0 (compiled at 12:49:28 Jun 15 2015) starting on 07/28/15 13:05:21 INFO: [Config] Default encoding set to utf-8 INFO: [PY_DEBUG] BigWorld Release Client - Content Type: sd INFO: [PY_DEBUG] Checking ./res_mods/0.9.9: mods found INFO: [XFW] Version: 3.1.0 INFO: [XFW] Working dir: D:\World_of_Tanks\res_mods\mods INFO: [XFW] Loading mod: xvm_main 3.1.0 (http://www.modxvm.com/) INFO: [XFW] Loading mod: xvm_autologin 3.1.0 (http://www.modxvm.com/) INFO: [XFW] Loading mod: xvm_battle 3.1.0 (http://www.modxvm.com/) INFO: [XFW] Loading mod: xvm_battleloading 3.1.0 (http://www.modxvm.com/) INFO: [XFW] Loading mod: xvm_battleresults 3.1.0 (http://www.modxvm.com/) INFO: [XFW] Loading mod: xvm_contacts ============================= INFO: [XFW][xvm_contacts] Error loading mod: ERROR: Traceback (most recent call last): ERROR: File "mods/xfw/python/xfw_loader.py", line 68, in load_mods ERROR: File "sc", line 24, in <module> ERROR: File "scripts/client/gui/game_control/__init__.py", line 2, in <module> ERROR: File "scripts/client/gui/game_control/BoostersController.py", line 5, in <module> ERROR: File "scripts/client/gui/goodies/GoodiesCache.py", line 6, in <module> ERROR: ImportError: cannot import name g_itemsCache INFO: ============================= INFO: [XFW] Loading mod: xvm_crew 3.1.0 (http://www.modxvm.com/) INFO: [XFW] Loading mod: xvm_equip 3.1.0 (http://www.modxvm.com/) INFO: [XFW] Loading mod: xvm_export 3.1.0 (http://www.modxvm.com/) INFO: [XFW] Loading mod: xvm_hangar 3.1.0 (http://www.modxvm.com/) INFO: [XFW] Loading mod: xvm_hotfix 3.1.0 (http://www.modxvm.com/) INFO: [XFW] Loading mod: xvm_integrity 3.1.0 (http://www.modxvm.com/) INFO: [XFW] Loading mod: xvm_limits 3.1.0 (http://www.modxvm.com/) INFO: [XFW] Loading mod: xvm_online 3.1.0 (http://www.modxvm.com/) INFO: [XFW] Loading mod: xvm_ping 3.1.0 (http://www.modxvm.com/) INFO: [XFW] Loading mod: xvm_profile 3.1.0 (http://www.modxvm.com/) INFO: [XFW] Loading mod: xvm_profiler 3.1.0 (http://www.modxvm.com/) INFO: [XFW] Loading mod: xvm_quests 3.1.0 (http://www.modxvm.com/) INFO: [XFW] Loading mod: xvm_sounds 3.1.0 (http://www.modxvm.com/) INFO: [XFW] Loading mod: xvm_tcarousel 3.1.0 (http://www.modxvm.com/) INFO: [XFW] Loading mod: xvm_techtree 3.1.0 (http://www.modxvm.com/) INFO: [XFW] Loading mod: xvm_tooltips 3.1.0 (http://www.modxvm.com/) INFO: ~~~Mod loader by S0me0ne~~~ INFO: Executing: socialwot NOTICE: [NOTE] (scripts/common/fortified_regions.py, 208): fortified_regions.init() NOTICE: [NOTE] (scripts/common/clubs_settings.py, 34): clubs.init() NOTICE: [NOTE] (scripts/client/post_processing/__init__.py, 267): The quality = 4 was selected. NOTICE: [NOTE] (scripts/client/post_processing/__init__.py, 267): The quality = 3 was selected. NOTICE: [NOTE] (scripts/client/ConnectionManager.py, 151): User authentication method: token2 NOTICE: [NOTE] (scripts/client/account_helpers/settings_core/options.py, 721): Change state of voip: (True,) NOTICE: [NOTE] (scripts/client/game.py, 425): [sPACE] Loading space: spaces/hangar_v2 WARNING: [WARNING] (scripts/client/gui/clubs/requests.py, 72): Club request error ((GetCompletedSeasonsCtx(confirmID = , waitingID = , requestType = 37), []), _Response(code=-5, errStr='COOLDOWN', data=None)) Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #285271 Posted July 28, 2015 (edited) слушай, а мод не работает =(а вы скомпилировали __init__.pyc? я что-то не уверен... Edited July 28, 2015 by ShadowHunterRUS Quote Share this post Link to post Short link Share on other sites
CyToTV 10 #285291 Posted July 28, 2015 а вы скомпилировали __init__.pyc? я что-то не уверен... ДаСкомпилировал а вы скомпилировали __init__.pyc? я что-то не уверен... Новый лог: INFO: [XFW] Loading mod: xvm_contacts ============================= INFO: [XFW][xvm_contacts] Error loading mod: ERROR: Traceback (most recent call last): ERROR: File "mods/xfw/python/xfw_loader.py", line 68, in load_mods ERROR: File "D:\World_of_Tanks\res_mods\mods/packages\xvm_contacts\python\__init__.py", line 24, in <module> ERROR: from gui import game_control ERROR: File "scripts/client/gui/game_control/__init__.py", line 2, in <module> ERROR: File "scripts/client/gui/game_control/BoostersController.py", line 5, in <module> ERROR: File "scripts/client/gui/goodies/GoodiesCache.py", line 6, in <module> ERROR: ImportError: cannot import name g_itemsCache INFO: ============================= Да Скомпилировал Новый лог: INFO: [XFW] Loading mod: xvm_contacts ============================= INFO: [XFW][xvm_contacts] Error loading mod: ERROR: Traceback (most recent call last): ERROR: File "mods/xfw/python/xfw_loader.py", line 68, in load_mods ERROR: File "D:\World_of_Tanks\res_mods\mods/packages\xvm_contacts\python\__init__.py", line 24, in <module> ERROR: from gui import game_control ERROR: File "scripts/client/gui/game_control/__init__.py", line 2, in <module> ERROR: File "scripts/client/gui/game_control/BoostersController.py", line 5, in <module> ERROR: File "scripts/client/gui/goodies/GoodiesCache.py", line 6, in <module> ERROR: ImportError: cannot import name g_itemsCache INFO: ============================= пожешь скинуть папку с __init__.pyc уже готовую, плз Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #285304 Posted July 28, 2015 (edited) Посмотрим. Это опять клиент танков нужно устанавливать... Edited July 29, 2015 by ShadowHunterRUS Quote Share this post Link to post Short link Share on other sites
CyToTV 10 #285307 Posted July 28, 2015 Посмотрим. Это опять клиент танков нужно устанавливать... попробуй это __init__.zip Я конечно же еще даже не проверял... только после боя в контактах это отображается =( Посмотрим. Это опять клиент танков нужно устанавливать... попробуй это __init__.zip Я конечно же еще даже не проверял... го скайп? Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #285308 Posted July 28, 2015 (edited) только после боя в контактах это отображается =(Скриншот нужен Клиент еще не скоро загрузится... го скайп?Гарнитуры нет Edited July 28, 2015 by ShadowHunterRUS Quote Share this post Link to post Short link Share on other sites
CyToTV 10 #285310 Posted July 28, 2015 Скриншот нужен Клиент еще не скоро загрузится... 2015-07-28 19-15-24 Скриншот экрана.png ГО СКАЙП? МОЙ: stepan_wifi Вот Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #285316 Posted July 28, 2015 ВотИ что происходит, если нажать Open? Quote Share this post Link to post Short link Share on other sites
CyToTV 10 #285317 Posted July 28, 2015 И что происходит, если нажать Open? браузер открывается браузер открывается я прост название поменял Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #285319 Posted July 28, 2015 я прост название поменялЯсное дело) Quote Share this post Link to post Short link Share on other sites
CyToTV 10 #285322 Posted July 28, 2015 Ясное дело) а проблема в чем? Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #285325 Posted July 28, 2015 (edited) а проблема в чем? Не знаю пока а проблема в чем? Почисти папку %AppData%\Wargaming.net\WorldOfTanks Только preferences.xml не трогай Edited July 28, 2015 by ShadowHunterRUS Quote Share this post Link to post Short link Share on other sites
CyToTV 10 #285326 Posted July 28, 2015 а у меня его нет =) Только properties.xml не трогай Не знаю покаПочисти папку %AppData%\Wargaming.net\WorldOfTanksТолько properties.xml не трогай все также =( Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #285328 Posted July 28, 2015 (edited) да Edited July 29, 2015 by ShadowHunterRUS Quote Share this post Link to post Short link Share on other sites
CyToTV 10 #285331 Posted July 28, 2015 def PlayerContactsCMHandler_generateOptions(base, self): options = base(self) options.append(self._makeItem(MENU.XVM_EDIT_CONTACT_DATA, l10n('Edit data'), optInitData={'enabled': contacts.isAvailable()})) options.append(self._makeItem(MENU.OPEN_PLAYER_WEBBROWSER, 'Открыть мое окошко', optInitData={'enabled': True})) return options замени на def PlayerContactsCMHandler_generateOptions(base, self): options = base(self) #options.append(self._makeItem(MENU.XVM_EDIT_CONTACT_DATA, l10n('Edit data'), optInitData={'enabled': contacts.isAvailable()})) options.append(self._makeItem(MENU.OPEN_PLAYER_WEBBROWSER, 'Открыть мое окошко', optInitData={'enabled': True})) return options не робит Quote Share this post Link to post Short link Share on other sites