WebBrowser (*uc)

Вечер в хату.

Недавно задумался о такой вещи как бровзер в клиенте л2, который к слову уже существует и как АПИ и как элемент интерфейса, причём с достаточно ранних протоколов, у себя я вижу это аж в 140-ом. Сам он на базе Awesomium.

Немного порывшись по сорцам с умным видом (тот же IngameWebWnd) и пошерстив гугл - ничего не понял и приплыл сюда.

Кто разбирался с этим поделием? Как оно устроено? Мне немного ломает мозг то, что я увидел в сорце. Но судя по АПИ - какие то огрызки браузера там реально присутствуют, но как бы я не сплясал вокруг - завести эту поделку так и не удалось, что бы она отобразила хоть что-то внутри элемента по кинутому в неё урлу (пробовал разные варианты, в т.ч. локальный - ноль эмоций).

Реквестирую умных людей, может кто-то докопался до истины происходящего.
1654708554235.png


Огрызки:
C++:
native final function WithWebSession ();

native final function WithoutWebSession ();

native final function BeginParam (string charset);

native final function PushParam (string Key, string Value);

native final function NavigateAsPost (string URL);

native final function NavigateAsGet (string URL);

native final function NavigateAsGetJson (string URL);

native final function GoToHistoryOffset (int offset);

native final function bool ExecuteJavaScriptWithStringResult (string Command, out string Value);

native final function bool ExecuteJavaScriptWithIntegerResult (string Command, out int Value);

native final function bool ExecuteJavaScriptWithFloatResult (string Command, out float Value);

native final function string GetURLEncodedAsUTF8 (string URL);

native final function string GetUrl ();

native final function bool ExecuteJavaScript (string Command);

native final function string GetCookie (string URL, string Key);

native final function bool SetCookie (string URL, string Key, string Value);

native final function Navigate (WebRequestInfo requestInfo);

native final function bool CanGoBackPage ();

native final function GoBackPage ();

native final function bool CanGoForwardPage ();

native final function GoForwardPage ();

native final function ReloadCurPage ();


C++:
struct WebRequestInfo
{
    var EWebMethodType eMethodType;
    var string strRequestUrl;
    var string strNPAuthTokenLoginUrl;
    var array<WebRequestParam> arrRequestParams;
    var array<WebRequestParam> arrHeaderParams;
};
 

Похоже что они

Free* for indie developers with < $100K annual revenue.

Ну хоть тут бесплатно)

@default_npc если тебе нужно будет потестировать с вебом что-то, то вот линки могут помочь.
1 - сюда делать запрос, гет, пост можно. вернут все полученньіе данньіе в джсоне
2 - в єтот файл сохраняются все записи. просто построчно, сильно не парился.
3- почисить файл с логами.

Скрытое содержимое для пользователя(ей): default_npc
 
Похоже что они

Free* for indie developers with < $100K annual revenue.

Ну хоть тут бесплатно)

@default_npc если тебе нужно будет потестировать с вебом что-то, то вот линки могут помочь.
1 - сюда делать запрос, гет, пост можно. вернут все полученньіе данньіе в джсоне
2 - в єтот файл сохраняются все записи. просто построчно, сильно не парился.
3- почисить файл с логами.

*** Скрытый текст не может быть процитирован. ***
Спасибо, как соберусь с мыслями + поднаберу инфы - соберусь с мыслями и поковыряю это ещё более основательно.
 
Очень интересно как идея сделать браузер внутри л2, только вопрос: есть ли смысл для обычного игрока? Может я конечно заблуждаюсь, но будьте добры пример использования для юзера? :)
В любом случае вселенский респект, так держать!
 
В региональных клиентах эта фишка убита. В корейском работает и они ее активно используют для магазина / статистик.
 
Очень интересно как идея сделать браузер внутри л2, только вопрос: есть ли смысл для обычного игрока? Может я конечно заблуждаюсь, но будьте добры пример использования для юзера? :)
В любом случае вселенский респект, так держать!
Вк отвечать не сворачивая игру
 
Очень интересно как идея сделать браузер внутри л2, только вопрос: есть ли смысл для обычного игрока? Может я конечно заблуждаюсь, но будьте добры пример использования для юзера? :)
В любом случае вселенский респект, так держать!
В связке с хорошим лк, достаточно удобная штука. Как выше описывали - магазины, пожертвование, саппорт, статистика, доступ к форуму и т.п. Другое дело насколько это удобно будет, хз.
 
Так же в свое время ковыряли и тестили, вывод получили ровно такой же как дал Test выше
 
Глупо расчитьівать, что там будет прям полноценньій браузер из коробки.
Уверен там будет работать минимум функционала. Врядли форумьі и лк сразу так просто заработают ( с уяетом того как половина их верстает)

Но вот если сделать простьіе страничка с новостями с форума, мини статистикой ( он, а я там гдето скрипт делал :D) то почему нет)
 
Глупо расчитьівать, что там будет прям полноценньій браузер из коробки.
Уверен там будет работать минимум функционала. Врядли форумьі и лк сразу так просто заработают ( с уяетом того как половина их верстает)

Но вот если сделать простьіе страничка с новостями с форума, мини статистикой ( он, а я там гдето скрипт делал :D) то почему нет)
тот скрипт к сожалению без костылей не заведешь (по крайней мере я не смог нормально его завести, поэтому пришлось писать свой)
 
Если есть вопросьі, пиши в теме, посмотрим)
вопросов нет, твой скрипт натолкнул меня на изучение php, я уже написал свою статистку которая парсится в json и выводится из него же, своеобразное кеширование получилось)
 
  • Ха-ха-ха
Реакции: kick
вопросов нет, твой скрипт натолкнул меня на изучение php, я уже написал свою статистку которая парсится в json и выводится из него же, своеобразное кеширование получилось)
А ну хоть что-то полезное он принес)
П.С: Там же тоже кеш в жсоне) там можно тоже на прямую с жсона дергать, но тогда кеш не будет обновляться)
А если обновлять по крону, то будут возможно лишнее запросьі)
 
Глупо расчитьівать, что там будет прям полноценньій браузер из коробки.
Уверен там будет работать минимум функционала. Врядли форумьі и лк сразу так просто заработают ( с уяетом того как половина их верстает)

Но вот если сделать простьіе страничка с новостями с форума, мини статистикой ( он, а я там гдето скрипт делал :D) то почему нет)
там полноценный браузер с js/css/html/куками
 
А ну хоть что-то полезное он принес)
П.С: Там же тоже кеш в жсоне) там можно тоже на прямую с жсона дергать, но тогда кеш не будет обновляться)
А если обновлять по крону, то будут возможно лишнее запросьі)
ну с учетом того что в данный момент время выполнения скрипта который собирает всю статистику 0.0023 сек, то я не думаю что если на кроне будет висеть каждые 2 минуты обновлять - что то глобально изменится в плане дёрганья базы)
 
Ну при желании можно в клиенте любой сайт открыть, вопрос только как потом этому сайту с самим клиентом взаимодействовать - получать/отправлять какие-то данные.


11.png
 
там можно зарегать свои события js и через них передавать данные
 
Когда я делал человечку 140 клиент корейский, там в л2 ини была возможность подключить НС Маркет, который отображался над панелью быстрых действий (alt + x, действия и тд.).
Оно вроде открывало мне бразуер, но саму страницу не грузило :(
 
Назад
Сверху Снизу