PDA

Просмотр полной версии : Lineage 2 HTML manual


wanick
11.12.2008, 01:10
Долго искал в нете, описаний не наше решил сделать свой.


<table></table> - начало таблицы
атрибуты

width - ширина в пикселях, еще встречал использование %
fixwidth - ширина, чем отличается от простой ширины не понял
height - высота в пикселях
border - ширина бордюра
cellspacing - внешний отступ ячеек (отступ между рамкой <table> и <td>)
cellpadding - внутренний отступ ячеек (отступ внутри ячейки <td> до содержимого)
bgcolor - цвет фона таблицы указывается в формате от 000000 - FFFFFF

<tr></tr> - rows- в таблице аналог HTML <tr> - применения с атрибутами не встречал

<td></td> - ячейка таблицы аналог HTML <td>
атрибуты

align - (=left|right|center) позиционирование текста внутри ячейки
valign - (=top) вертикальное позиционирование текста внутри ячейки (в диалогах встречается, но работает почему-то не всегда) кроме "TOP" ничего не встречал
width - ширина в пикселях
fixwidth - ширина, чем отличается от простой ширины не понял
height - высота в пикселях

<img> - картинка аналог HTML <img>
атрибуты

src - путь к картинке берется из файлов текстур - можно использовать любой, пишется так, например L2Ui.mini_logo, L2Ui- это utx файл из клиента mini_logo - текстура из него
width - ширина в пикселях
height - высота в пикселях

<br1> - переход на новую строку
<br> - переход на новую строку через одну <br> = <br1><br1> (надеюсь понятно)

<font></font> - аналог в HTML <font>
Атрибуты

color - цвет текста в формате от 000000 - FFFFFF встречается использование color=LEVEL - какой-то системный цвет (похож на золото)

<edit> - аналог в HTML <input type=text>
атрибуты

var - (var="varname") - название переменной для дальнейшего использования в примере это "varname"
width - ширина в пикселях
height - высота в пикселях
align - как у <td> встречал только right
type - (=number) встречал только number - в поле можно вводить только цифры
length - ограничение на количество знаков

<MultiEdit> - аналог в HTML <textarea></textarea> - большое текстовое поле
атрибуты

var - (var="varname") - название переменной для дальнейшего использования в примере это "varname"
width - ширина в пикселях
height - высота в пикселях

<button> - кнопка аналог в HTML <input type=butto> или <button> действует также как и тег <a>
атрибуты

value - название кнопки (текст который мы видим)
width - ширина в пикселях
height - высота в пикселях
back - картинка фона
fore - картинка фона по наведению (а может back по наведению, подробно не разбирался)
action - текст ссылки отправляет на сервер ответный пакет используется с "bypass -h" - похоже отправляет команду на сервер а "link" - обращается за статическим файлом.

<a> - ссылка аналог в HTML <a>, действует также как и <button> , только у <button> - неудалось использовать атрибут msg, видимо нельзя
атрибуты

action - текст ссылки отправляет на сервер ответный пакет используется с "bypass -h" или "link" - перед самим ответом чем они отличаются не эксперементировал
msg - равен ID сообщения из файла SystemMsg-ru.dat в папке system клиента, разбирайте и выбирайте удобные вам , вообще аналог метода конфирм, но скорее всего зависит от ID сообщения и что там написано тоже изменить не получилось

Для <a> и <button> - в команде "bypass -h", -h - указывает что диалоговое окно необходимо закрыть после отправки.

<combobox> - аналог HTML <select></select> - работает также как <edit> и <MultiEdit>
атрибуты

var - (var="varname") - название переменной для дальнейшего использования в примере это "varname" , значение будет содержать текст выбранного пункта в точности из поля list между соответствующими разделителями
width - ширина в пикселях
list - список элементов перечисленных через знак ";" (точка с запятой) поле по умолчанию определяется первым в перечислении также и дальнейший порядок (в том порядке который в list)

<center></center> - центрирует текст, атрибутов не видел

<body> - текст документа
<html> - весь документ



структура документа должна быть такой:

<html>
<body>
...
тут наш HTML код
...
</body>
</html>

варианты использования переменных в самом html а именно значений полей полей <edit>, <MultiEdit> и <combobox>:

<html>
<body>
...<br>
тут наш HTML код<br>
...<br>
<edit var=editField width=50 type=numder><br>
<a action="bypass -h mylink?id= $editField">нажми</a><br>
...<br>
<MultiEdit var=multieditField width=270 height="40"><br>
<a action="bypass -h mylink?e= $editField&word= $multieditField">нажми</a><br>
...<br>
<combobox var=combovar width=200 list=" ;поле1;поле2"> <br>
<buttom value="отправить все" action="bypass -h mylink?e= $editField&word= $multieditField&combo= $combovar" width="100" height="22" back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"><br>
...<br>
</body>
</html>
перед $ обязательно должен стоять " " - пробел (e= $editField)

Ширина диалогового окна 270 пикселей

добавлено от Xelat
Так же, в пакете с html, идущим от сервера к клиенту, после текста html идёт одно поле - число dword, оно указывает айди предмета, название которого будет отображено в заголовке диалогового окна. Чтобы задать айди предмета, от которого отобразить запрашиваемый, с помощью команды link, html файл, надо указать после его названия #item_id. Например
link noquest.htm#17

отобразит диалоговое окно с заголовком "Деревянная Стрела" (Wooden Arrow).


P.S. с атрибутами экспериментировать можно а вот с тегами не следует клиент вылетает с критом, также старайтесь структуру таблици писать правильно если например незакроите <td> и сразу начнете новый то будет крит - хотя может не всегда , у меня вис и l2PHX и клиент

Добавлено через 28 минут
Вот скрипт написал с управлением с помощью клиентского интерфейса то есть HTML оценить можно тут (http://coderx.ru/showthread.php?p=19587#post19587), для тех кто любит играть в клиенте но всеже хочет облегчить себе жизнь очень удобный инструмент, нет нужны переключатся или сворачивать окна

ЗЫ . если инфа пригодилась, или просто понравилась , не забудь ткнуть "спасибо"

Xelat
11.12.2008, 06:56
Насчёт action -твоя догадка верна. Хочу так же добавить, что в команде "bypass -h", -h - указывает что диалоговое окно необходимо закрыть после отправки.

Ещё в html-ках руоффа я наблюдал открывающий тэг <head>, но закрывающего небыло, клиент хавает нормально. Возможно наличие этого тэга означает, что есть и тэг <title>, задающий заголовок окна.

Так же, в пакете с html, идущим от сервера к клиенту, после текста html идёт одно поле - число dword, оно указывает айди предмета, название которого будет отображено в заголовке диалогового окна. Чтобы задать айди предмета, от которого отобразить запрашиваемый, с помощью команды link, html файл, надо указать после его названия #item_id. Например
link noquest.htm#17
отобразит диалоговое окно с заголовком "Деревянная Стрела" (Wooden Arrow).
Всё это относится к руоффу, следовательно грации. Не знаю есть ли такое в других версиях.

dyh9l
28.08.2010, 03:51
А через что редактируют хтмл? блокнотом они не открываются

Breadfan
28.08.2010, 04:33
"открыть с помощью..." --->> "блокнот"

dyh9l
28.08.2010, 06:58
Lineage2Ver111剓겐계곘곁곀게곅곁곋곟곞곏겑겎곟곕곁곎곃곀겂곏곞곉곈곅곘곳곎곍곏곇겎겒겡 겦겐곎곃곈곕겒겡겦겐곘곍곎곀곉게곛곅곈곘계겑겘겜겜게계곉곅곋계곘겑겙겙겜게곎곃곞곈곉곞겑겜게곏곉곀곀 곟곜곍곏곅곂곋겑겜게곏곉곀곀곜곍곈곈곅곂곋겑겜겒겡겦겐곘곞겒겡겦겐곘곈게곍곀곅곋곂겑곏곉곂곘곉곞게계 곉곅곋계곘겑겛겜겒겐곅곁곋게곟곞곏겑겎곟곕곁곎곃곀겂곏곞곉곈곅곘곳곋곁겎게곛곅곈곘계겑겞겙겚게계곉곅 곋계곘겑겚겜겒겐것곘곈겒겡겦겐것곘곞겒겡겦겐곘곞겒겡겦겐곘곈게계곉곅곋계곘겑겘겔겜겒겡겦겐곘곍곎곀곉 게곛곅곈곘계겑겘겜겜게곎곃곞곈곉곞겑겜게곏곉곀곀곟곜곍곏곅곂곋겑겜게곏곉곀곀곜곍곈곈곅곂곋겑겜겒겡겦 겐곘곞겒겡겦겐곘곈게곛곅곈곘계겑겞겜겜게곍곀곅곋곂겑곞곅곋계곘게곚곍곀곅곋곂겑곘곃곜겒겐곊곃곂곘게곏 곃곀곃곞겑겎고곩곺곩고겎겒곡곍곂곍곋곉곞겡겦겐것곊곃곂곘겒겐것곘곈겒겡겦겐곘곈게곊곅곔곛곅곈곘계겑겟 겜겒겐것곘곈겒겡겦겐곘곈게곛곅곈곘계겑겝겛겜게곍곀곅곋곂겑곀곉곊곘게곚곍곀곅곋곂겑곘곃곜겒겡겦골곃곂 곋곁곅곂게곿계곅곂겡겦겐곎곞겒겐곎곞겒겐곎곞겒겡겦겐것곘곈겒겡겦겐것곘곞겒겡겦겡겦겐곘곞겒겡겦겐곘곈 게곛곅곈곘계겑겞겜겜게곍곀곅곋곂겑곞곅곋계곘게곚곍곀곅곋곂겑곘곃곜겒겐곊곃곂곘게곏곃곀곃곞겑겎고곩곺 곩고겎겒고곉곍곈게곫곡겡겦겐것곊곃곂곘겒겐것곘곈겒겡겦겐곘곈게곊곅곔곛곅곈곘계겑겟겜겒겐것곘곈겒겡겦 겐곘곈게곛곅곈곘계겑겝겛겜게곍곀곅곋곂겑곀곉곊곘게곚곍곀곅곋곂겑곘곃곜겒겡겦곤곕곉곋곕곉곃곂곋게곭계 곂겐곎곞겒겡겦공곙곂곁곅게과곍곞곇겐곎곞겒겡겦곿곍곂곋곋곅곀게곢곍곁겐곎곞겒겡겦곡곅곆곍게곤곃곂곋겐 곎곞겒겡겦곤곕곉곃곂곋곙게곯계곃곅겐곎곞겒겡겦겐곎곞겒겐곎곞겒겡겦겐것곘곈겒겡겦겐것곘곞겒겡겦겡겦겡 겦겡겦겡겦겐것곘곍곎곀곉겒겡겦겐것곘곈겒겐것곘곞겒겐것곘곍곎곀곉겒겡겦겡겦겐것곎곃곈곕겒겡겦겐것계곘 곁곀겒  6 먠

Breadfan
28.08.2010, 07:23
Файлы клиента - сначала надо распаковать(расшифровать) спец.утилитами, наподобие L2 file edit

J-Fobos
28.08.2010, 12:09
Оригинальные утилиты для работы с файлами линейки http://dstuff.luftbrandzlung.org/l2.php

wanick
03.10.2010, 18:22
Оригинальные утилиты для работы с файлами линейки http://dstuff.luftbrandzlung.org/l2.php

Да это замечательно что есть утилиты , то что они "оригинальные" есть большое сомнение, а эта тема создана для тех кто в скрипте хочет использовать l2 html, сделать так сказать динамический диалог, а не статическое диалоговое окно то что позволяют сделать "оригинальные утилиты"

supernewbie
06.10.2010, 00:12
лучше скажите как очищать мультиедит)

Кстати, если кто-то будет вставять изображения там... я покапался
src всех иконок скилов = icon.icon.skill, например чом icon.icon.skill1413

[I]Добавлено через 4 часа 31 минуту
<title>
действительно задает заголовок страницы)

<title>[Загаловок]</title>

LAV45
13.11.2010, 04:06
Кстати, если кто-то будет вставять изображения там... я покапался
src всех иконок скилов = icon.icon.skill[id], например чом icon.icon.skill1413
Если мне память не изменяет то &1413 тоже самое - отображает иконку предметов, скилов с данным ID

semiromid
11.10.2011, 12:08
Подскажите .А где именно нужно писать HTML, в пакетхаке? И куда его потом забрасывать в клиент л2?
Просто хочу увидить связь HTML с делфи . Как оно будет работать не пойму .

J-Fobos
11.10.2011, 21:09
Подскажите .А где именно нужно писать HTML, в пакетхаке? И куда его потом забрасывать в клиент л2?
Просто хочу увидить связь HTML с делфи . Как оно будет работать не пойму .
HTML это просто форматированный текст, его можно писать в любые переменные которые работают с текстом.
Забрасывать в л2 в виде диалога? Посмотрите структуру пакета открытия диалога, формируйте такой же пакет и отправляйте на клиент.

Pinko
11.10.2011, 23:46
Подскажите .А где именно нужно писать HTML, в пакетхаке? И куда его потом забрасывать в клиент л2?
Просто хочу увидить связь HTML с делфи . Как оно будет работать не пойму .

HTML
зачем ет вам надо ?
легче ответить на вопрос.

Nickers
12.10.2011, 09:07
Для админов полезно.

semiromid
12.10.2011, 09:32
это просто форматированный текст, его можно писать в любые переменные которые работают с текстом.
Забрасывать в л2 в виде диалога? Посмотрите структуру пакета открытия диалога, формируйте такой же пакет и отправляйте на клиент.

Цель, создать управление скриптом из HTML окна л2 .

Pinko
12.10.2011, 10:16
//===========================================

myname=' tttttttt '; //<<== пишем свой НИК

//=====скрипт для глухих===
// ХБ
// перенаправляет сообщения на экран.
// открыть управление соцдействие ДА
// Автор mks . coderx.ru .
//===========================================
HTML='<html><body><center>'+
'<img src="L2UI_CH3.herotower_deco width=256 height=32>'+
'<img src="L2UI.SquareWhite" width=260 height=1>'+
'<font color="04fbfb">Cкрипт сообщения на экран</font><br>'+
'<img src="L2UI.SquareWhite" width=260 height=1>'+
'<img src="L2UI.Squarewidth" width=260 height=1>'+
'<font color="04fbfb">системные сообщения</font><br>'+
'<button value=" Trade " action="bypass Trade" width=80 height=15 back="sek.cbui94" fore="sek.cbui92">'+
'<img src="L2UI.SquareWhite" width=60 height=1>'+
'<img src="L2UI.Squarewidth" width=60 height=4>'+
'<button value=" Party " action="bypass Party" width=80 height=15 back="sek.cbui94" fore="sek.cbui92">'+
'<img src="L2UI.SquareWhite" width=60 height=1>'+
'<img src="L2UI.Squarewidth" width=60 height=4>'+
'<button value=" Clan " action="bypass Clan" width=80 height=15 back="sek.cbui94" fore="sek.cbui92">'+
'<img src="L2UI.SquareWhite" width=60 height=1>'+
'<img src="L2UI.Squarewidth" width=60 height=4>'+
'<button value=" Alli " action="bypass Alli" width=80 height=15 back="sek.cbui94" fore="sek.cbui92">'+
'<img src="L2UI.SquareWhite" width=60 height=1>'+
'<img src="L2UI.Squarewidth" width=60 height=4>'+
'<button value=" P M " action="bypass PM" width=80 height=15 back="sek.cbui94" fore="sek.cbui92">'+
'<img src="L2UI.SquareWhite" width=60 height=1>'+
'<img src="L2UI.Squarewidth" width=60 height=4>'+
'<button value=" Hero " action="bypass Hero" width=80 height=15 back="sek.cbui94" fore="sek.cbui92">'+
'<img src="L2UI.SquareWhite" width=60 height=1>'+
'<img src="L2UI.Squarewidth" width=60 height=4>'+
'<font color="LEVEL"> mks </font><br>'+
'<img src="L2UI.SquareWhite" width=60 height=1>'+
'<img src="L2UI.Squarewidth" width=60 height=4>'+
'<button value=" стоп" action="bypass stop" width=80 height=15 back="sek.cbui94" fore="sek.cbui92">'+
'<img src="L2UI.SquareWhite" width=60 height=1>'+
'<img src="L2UI.Squarewidth" width=60 height=4>'+
'<font color="LEVEL">TAMBIK</font><br>'+
'</center></body></html>';
//==========================================

var
Bypass:string;
autoText:Boolean;
TextType:integer;

//==========================================
// ShowHTML(HTML);
Procedure ShowHTML( _html : string );
begin
buf:=#$19;
WriteD(5);
WriteS(_HTML);
SendToClientEx(myname);
end;
//========================
procedure ActionUse; //2=PM, 3=Party, 4=Clan, 8=Trade, 9=Alli, 17=Hero
begin
Bypass:=ReadS(2);
case Bypass of
'Trade':begin autoText:=true;TextType:=8; end;//Trade
'Party':begin autoText:=true;TextType:=3; end;//Party
'Clan':begin autoText:=true;TextType:=4; end;//Clan
'Alli':begin autoText:=true;TextType:=9; end;//Alli
'PM':begin autoText:=true;TextType:=0; end;//PM
'Hero':begin autoText:=true;TextType:=17;end;//Hero
'stop':begin autoText:=false;TextType:=0;end;
end;
end;
//-----------------------------------------
procedure Init;
begin
TextType:=0;
autoText:=false;
end;
procedure Free;
begin

end;
//Tип: 0x4A (CreatureSay)
//Pазмер: 83+2
//Время прихода: 12:35:56:375
//0002 d ObjectID: 268899150 (0x1007134E)
//0006 d TextType: 15 (0x0000000F)
//000A s CharName: MaFaca
//0018 s Text: ВТТ ВАШ СЕПОР С СА, ПРЕДЛЫ ПМ
//=========================
begin
//не обрабатываем пустые пакеты
if pck='' then exit;
if FromClient and (pck[1]=#$34) and (ReadD(2)=06) then begin ShowHTML(HTML); pck:='';exit;end;
if FromClient and (pck[1]=#$23) then begin ActionUse; pck:='';exit;end; //
if FromServer and autoText and (pck[1]=#$4A) and (ReadD(6)=TextType) then begin
buf:=pck;
WriteD(15,6);
pck:=buf;
end;