CyToTV 10 #311339 Posted January 29, 2016 Спасибо! ВОт вам за это: http://www.koreanrandom.com/forum/topic/29620-настоящий-мод-wgl/ Блин, ну хоть читайте тему немного! Писали и не один раз и тут, и в разделе хелпа, а все равно некоторые до сих пор задают подобные вопросы. Я понимаю, ну юзвера читать не умеют, но мододелам надо бы уметь хоть немного - читать тему или пользоваться поиском по теме. WindowsManager в поиск по теме и ответ в одном из постов-результатов. Там даже написано что и на что надо поменять!Гайд не может всегда быть 100% правильным, ибо автор пишет его один раз, а картоха каждый патч что-то меняет.Извиняюсь за некоторого рода флуд, но реально немного подгорает иногда. А как с TextInput работать, можешь пример показать, если не сложно Quote Share this post Link to post Short link Share on other sites
GPCracker 2,088 #311368 Posted January 29, 2016 А как с TextInput работать, можешь пример показать, если не сложноЕсли честно, давно не работал с флешем. Есть такой мод... ModSettingsAPI, глянь у них репо, может там есть какой пример. Ну или кто еще подскажет чего. Quote Share this post Link to post Short link Share on other sites
CyToTV 10 #312049 Posted February 2, 2016 Ребят, помогите! Не работает не из клиента не с сайта this.imgMap = new TextField(); this.imgMap.width = 500; this.imgMap.height = 550; this.imgMap.x = 150; this.imgMap.y = 200; this.imgMap.multiline = true; this.imgMap.selectable = false; this.imgMap.htmlText = "<img width='300' height='300' src='http://mastersofweapons.ru/maps/def.png'>"; this.addChild(this.imgMap); Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #312052 Posted February 2, 2016 С сайта точто не загрузит, а с клиента должно Quote Share this post Link to post Short link Share on other sites
GPCracker 2,088 #312056 Posted February 2, 2016 С сайта точто не загрузит, а с клиента должноЧтобы такое замутить, нужно через DAAPI вызывать питон, он грузит что надо, и результат либо сохраняет на диск (не есть хорошо), либо возвращает результатом функции. Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #312060 Posted February 2, 2016 А как в системное сообщение вывести картинку с сайта? Как показано выше не работает Quote Share this post Link to post Short link Share on other sites
GPCracker 2,088 #312063 Posted February 2, 2016 А как в системное сообщение вывести картинку с сайта? Как показано выше не работаетС локального ресурса грузится? Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #312069 Posted February 2, 2016 С локального ресурса грузится? отсюда http://net2ftp.ru/node0/[email protected]/img.png Quote Share this post Link to post Short link Share on other sites
GPCracker 2,088 #312075 Posted February 2, 2016 С локального ресурса грузится?В том плане что если картинку положить на клиент, она прогружается? Quote Share this post Link to post Short link Share on other sites
CyToTV 10 #312081 Posted February 2, 2016 (edited) С локального ресурса грузится? Слушай, а так будет <img width='300' height='300' src='res_mods/0.9.13/map.png'> отсюда http://net2ftp.ru/node0/[email protected]/img.png А вот так? this.imgMap.htmlText = "<img width=\"300\" height=\"300\" src=\"../res_mods/0.9.13/map.png\">"; Edited February 2, 2016 by FeeMan Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #312115 Posted February 2, 2016 ..../map.png Quote Share this post Link to post Short link Share on other sites
CyToTV 10 #312117 Posted February 2, 2016 ..../map.png не работает Quote Share this post Link to post Short link Share on other sites
GPCracker 2,088 #312134 Posted February 2, 2016 img://gui/maps/icons/... Quote Share this post Link to post Short link Share on other sites
Metrotram 0 #314306 Posted February 18, 2016 Awesomium в примерах Простой пример использования Awesomium Python from gui import game_control from adisp import process from gui.shared.utils.key_mapping import getBigworldNameFromKey @process def openBrowserWindow(): _url = 'http://yandex.ru' _title = 'Test Title' _width = 600 _height = 400 _browserSize = [_width, _height] browserID = yield game_control.g_instance.browser.load(_url, _title, showActionBtn=False, browserSize=_browserSize) browser = game_control.g_instance.browser.getBrowser(browserID) def onhandleKeyEvent(event): key = getBigworldNameFromKey(event.key) if key == 'KEY_F10': openBrowserWindow() return None from gui import InputHandler InputHandler.g_instance.onKeyDown += onhandleKeyEvent shot_164.jpg Передача данных из Awesomium в Python с использованием console.log() Python from gui import game_control from adisp import process from gui.shared.utils.key_mapping import getBigworldNameFromKey from ResMgr import resolveToAbsolutePath oldOnAddConsoleMessage = None def newOnAddConsoleMessage(message, lineNumber, source): print(message) oldOnAddConsoleMessage(message, lineNumber, source) @process def openBrowserWindow(): global oldOnAddConsoleMessage _url = 'file:///{0}'.format(resolveToAbsolutePath('../res_mods/index.html')) _title = 'Test console.log()' _width = 800 _height = 600 _browserSize = [_width, _height] browserID = yield game_control.g_instance.browser.load(_url, _title, showActionBtn=False, browserSize=_browserSize) browser = game_control.g_instance.browser.getBrowser(browserID) oldOnAddConsoleMessage = browser._WebBrowser__browser.script.onAddConsoleMessage browser._WebBrowser__browser.script.onAddConsoleMessage = newOnAddConsoleMessage def onhandleKeyEvent(event): key = getBigworldNameFromKey(event.key) if key == 'KEY_F10': openBrowserWindow() return None from gui import InputHandler InputHandler.g_instance.onKeyDown += onhandleKeyEvent ./res_mods/index.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <script type="text/javascript"> function write_to_log() { console.log(document.getElementById('_in_text').value); } </script> </head> <body bgcolor="white"> <input id="_in_text" type="text" /> <a href="#" onclick="write_to_log();return false;">Отправить сообщение в питон</a> </body> </html> shot_007.jpgУвидим в логе:... INFO: test message ... Выполнение JS-кода(отправленного из Python) на web-странице Python from gui import game_control from adisp import process from gui.shared.utils.key_mapping import getBigworldNameFromKey from ResMgr import resolveToAbsolutePath browser = None def onLoadEnd(url, isLoaded): js_code = "document.getElementById('_in_text').value = 'Hello from python!';" browser._WebBrowser__browser.executeJavascript(js_code, '') @process def openBrowserWindow(): global browser _url = 'file:///{0}'.format(resolveToAbsolutePath('../res_mods/index.html')) _title = 'Test executeJavascript' _width = 800 _height = 600 _browserSize = [_width, _height] browserID = yield game_control.g_instance.browser.load(_url, _title, showActionBtn=False, browserSize=_browserSize) browser = game_control.g_instance.browser.getBrowser(browserID) browser.onLoadEnd += onLoadEnd def onhandleKeyEvent(event): key = getBigworldNameFromKey(event.key) if key == 'KEY_F10': openBrowserWindow() return None from gui import InputHandler InputHandler.g_instance.onKeyDown += onhandleKeyEvent ./res_mods/index.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> </head> <body bgcolor="white"> <input id="_in_text" type="text" /> </body> </html> shot_008.jpg Обработка питоном переходов по url внутри браузера Python from gui import game_control from gui import SystemMessages from adisp import process from gui.shared.utils.key_mapping import getBigworldNameFromKey from ResMgr import resolveToAbsolutePath oldOnBeginLoadingFrameCB = None browser = None def newOnBeginLoadingFrameCB(frameId, isMainFrame, url): if url.startswith('gamecall://'): if browser._WebBrowser__browser: browser._WebBrowser__browser.stop() _url = url[11:] if _url.startswith('showWarning='): msg = _url[12:] SystemMessages.pushMessage(msg, SystemMessages.SM_TYPE.Warning) elif _url.startswith('showInformation='): msg = _url[16:] SystemMessages.pushMessage(msg, SystemMessages.SM_TYPE.Information) else: oldOnBeginLoadingFrameCB(frameId, isMainFrame, url) @process def openBrowserWindow(): global oldOnBeginLoadingFrameCB, browser _url = 'file:///{0}'.format(resolveToAbsolutePath('../res_mods/index.html')) _title = 'Test url request' _width = 800 _height = 600 _browserSize = [_width, _height] browserID = yield game_control.g_instance.browser.load(_url, _title, showActionBtn=False, browserSize=_browserSize) browser = game_control.g_instance.browser.getBrowser(browserID) oldOnBeginLoadingFrameCB = browser._WebBrowser__browser.script.onBeginLoadingFrame browser._WebBrowser__browser.script.onBeginLoadingFrame = newOnBeginLoadingFrameCB def onhandleKeyEvent(event): key = getBigworldNameFromKey(event.key) if key == 'KEY_F10': openBrowserWindow() return None from gui import InputHandler InputHandler.g_instance.onKeyDown += onhandleKeyEvent ./res_mods/index.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> </head> <body bgcolor="white"> <iframe name="frame_1" style="display:none"></iframe> <a href="gamecall://showWarning=TEST_WARNING" target="frame_1">Показать уведомление</a> <br /> <a href="gamecall://showInformation=TEST_INFORMATION" target="frame_1">Показать информацию</a> </body> </html> shot_009.jpg Вопрос по простому примеру. Можно ли вызывать окно не по нажатии кнопки, а при заходе в игру. Как сделать, чтобы окно вызывалось при заходе на сервер, но после его можно было бы вызвать кнопкой. Спасибо. Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #314308 Posted February 18, 2016 при заходе на серверуже было -> http://www.koreanrandom.com/forum/topic/25477-/?p=287428 Quote Share this post Link to post Short link Share on other sites
Vampire_BY 3 #329758 Posted May 28, 2016 С чем может быть связано? AttributeError: 'BigWorld.WebBrowserProvider' object has no attribute 'executeJavascript' Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #329768 Posted May 28, 2016 (edited) С чем может быть связано?Они вроде на хромиум перешли... Похоже теперь там все по-другому... Edited May 28, 2016 by ShadowHunterRUS Quote Share this post Link to post Short link Share on other sites
Vampire_BY 3 #329773 Posted May 28, 2016 Они вроде на хромиум перешли... Похоже теперь там все по-другому... А есть какой пример для окна рабочий? Quote Share this post Link to post Short link Share on other sites
Vampire_BY 3 #329921 Posted May 29, 2016 Фреймворк внутреннего браузера Awesomium заменён на Chromium Embedded Framework. Осталось теперь понять как реализовать Quote Share this post Link to post Short link Share on other sites
VoPV 2 #330414 Posted May 31, 2016 Фреймворк внутреннего браузера Awesomium заменён на Chromium Embedded Framework. Осталось теперь понять как реализовать Почти все осталось как и было, просто добавили больше опций. вот пример как это работает сейчас в 0.9.15: browserID = yield game_control.g_instance.browser.load(_url, _title, showActionBtn = True, showWaiting = True, browserID = None, isAsync = False, browserSize = None, isDefault = True, callback = None, showCloseBtn = False, useWhitelisting = False) Quote Share this post Link to post Short link Share on other sites