KOT Форум

Объявление


Уважаемые участники! КОТ переeхал на новое место жительства!

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » KOT Форум » PW сервер » работаем с IWEB (редактор XML)


работаем с IWEB (редактор XML)

Сообщений 1 страница 8 из 8

1

работаем с IWEB

IWeb дает нам большие возможности по редактированию персонажа и вещей в удобном виде, с помощью XML (сам IWeb находится здесь )
можно например поменять скилы, уровень, культивацию, очки опыта, дух, ник, кол-во денег, очки умений, местоположение в мире, также дать/удалить вещь, даже добавить/убрать ячейки в вещи и придать ей доп. свойства.

Урок 1. добавляем вещи персонажу через XML

Перс, над которым мы будем проводить опыты - это персонаж только созданный, 1-го левела, женского пола, воин, с пустым рюкзаком.

http://s42.radikal.ru/i095/0904/f7/640b6ee3f988t.jpg

Итак, для начала посмотрим, где в XML перса хранятся вещи.
запустим сервер (проверьте, чтобы стартовал iweb), после полного запуска серва откроем страницу айвеб-а в браузере (xttp://ВАШ_IP:8080/iweb/loginform.jsp), войдем и перейдем на "Редактор персонажей".
Важно! перед изменением чего-нибудь через IWeb вы должны выйти из игры (выйти на страницу выбора персонажа)

http://s50.radikal.ru/i129/0904/b9/3541ca6ee87ct.jpg

внизу указываем имя (или ID) персонажа и жмем на ссылку XML персонажа.
откроется страница

http://s45.radikal.ru/i107/0904/30/f8a96bff3cddt.jpg

на которой мы видим данные перса в виде XML (в синем поле)
важно! сделать ошибку в XML очень легко, поэтому перед тем, как вы начнете что-либо менять в XML сделайте резервную копию исходного XML, выделите все в синем поле, скопируйте в буфер, потом откройте блокнот, вставьте и сохраните куда-нибудь на диск. это позволит восстановить исходного перса, если что-то пойдет не так.
для удобства я перенес XML содержимое в редактор MSWord.

http://s43.radikal.ru/i102/0904/18/816849dd8beft.jpg

смотрим на рисунок, самое для нас сейчас интересное - это рюкзак перса и его экипировка.
все, что находится между тегами pocket (выделен красным) это рюкзак персонажа.
сейчас рюкзак пуст, поэтому кроме денег там ничего нет.
дадим сразу денег, к примеру 100 кк.
для этого просто впишите вместо 0 нужную цифру :)
должно выглядеть так:

<variable name="money" type="int">100000000</variable>

все, что находится между тегами equipment (выделен синим) это экипировка.

найдем в базе громкоговорител, например вот этот.
если посмотреть в адресную строку браузера, то вы увидите ID предмета - 12823

положим его в рюкзак, для этого добавим в наш XML след. код:

Код:
<items><variable name="id" type="int">12823</variable>
<variable name="pos" type="int">0</variable>
<variable name="count" type="int">1</variable>
<variable name="max_count" type="int">1</variable>
<variable name="data" type="Octets">03000000</variable>
<variable name="proctype" type="int">8</variable>
<variable name="expire_date" type="int">0</variable>
<variable name="guid1" type="int">0</variable>
<variable name="guid2" type="int">0</variable>
<variable name="mask" type="int">524288</variable>
</items>

-
http://s50.radikal.ru/i127/0904/2c/229985bdb160t.jpg

обратите внимание, каждая вещь находится внутри тега items. обратите внимание куда вставлена вещь, - после money, и перед reserved1 !
важное, на рисунке отмечена позиция, куда будет полoжена вещь, в данном случае 0.
это означает, что вещь будет занимать первую ячейку в рюкзаке,
вторая ячейка в рюкзаке соответствует значению 1, ну и т.д.
теперь копируем наш xml из ворда и вставляем в IWeb нашего чара, жмем внизу "Сохранить"
заходим в игру и видим в рюкзаке появился громкоговоритель, а также небольшое количество денех :D

http://s50.radikal.ru/i129/0904/c4/fe7370b0cdfet.jpg

Авторские права на данный материал принадлежат Пила и KOT Форум

0

2

Урок 2. Меняем левел персонажа и другие его параметры.
-
итак, для начала выйдем из клиента.

открываем страницу IWeb, вводим id или имя перса и жмем кнопку "Стандартная информация о персонаже".
наша задача поднять левел, ну например с 1 до 200 ;)
чтобы не было проблем запомните, при изменении левела нужно провести предварительный несложный расчет очков, сколько будет всего, сколько раскидать на статы.
перейдем к делу, отнимаем от 200 (наш будущий левел) 1(наш нынешний левел).
200 - 1 = 199
теперь умножим 199 на 5 (это сколько очков всего появится)
199 х 5 = 995
мы можем просто оставить эти статы нераспределенными и распределить в игре, для этого просто указываем "Уровень:" 200 и "Очки умений:" 995.
жмем Сохранить, заходим в игру и распределяем очки:

http://i067.radikal.ru/0904/7f/428648dcbc76t.jpg

но! мышкой клацать 995 раз не очень-то интересно :D поэтому прямо в IWeb указываем в какие характеристики пойдет сколько очков.
к примеру, на ловкость пойдет 150, а на силу все остальное.
995 - 150 = 845 (это на силу скоко останется)
считаем
5 + 150 = 155 (ловкость)
5 + 845 = 850 (это силa)

http://s39.radikal.ru/i085/0904/65/cf964ad53ca0t.jpg

сохраняем, заходим и видим

http://s50.radikal.ru/i129/0904/0f/be6607ad42f7t.jpg

--
Дополнение:
данная версия iweb не позволяет давать левел персу выше 999 через стандартную информацию о персонаже, больше просто не получится вписать.

ок, но нам это не подходит, и хотелось-бы давать до 30000 левела, а не клацать в игре мышкой до посинения, распределяя статы %)
пошурудив внутри iweb-a я обнаружил, что за это поле отвечает файл modrole.jsp, который находится по адресу /opt/jakarta-tomcat-5.5.9/webapps/iweb/roles/
находим внутри этого файла строку maxlength="3" и ставим 5
будет так:

maxlength="5"

http://s39.radikal.ru/i085/0905/16/a86bbc90c76dt.jpg

сохраняем, запускаем сервер.
все, теперь в айвеб можно крутить левел до 30000 ;)

готовый файл
если будете кидать готовый файл, не забудьте поставить на него права 644
-
p.s.
Чтобы изменить статус персонажа нужно в поле Культивация поставить соответствующее число, напр. для статуса "Благочестивый" ставим 8.

Авторские права на данный материал принадлежат Пила и KOT Форум

+1

3

Урок 3. добавляем ячейки в предмет
-
в этом уроке вы узнаете как добавить в предмет ячейки.

ячейки можно добавлять только в те предметы, которые могут их иметь.
будет совсем не правильно пытаться добавить ячейки например в кольца, последствием будет то, что вы не зайдете вообще на сервер.
итак, возьмем к примеру клинок "Смерть полководца" (можно купить у кузнеца)

вот его xml

в базе написано, что шанс создания этого клинка с макс. 2 ячейками, ну что-ж, посмотрим выйдет ли у нас сделать 4 ячейки ;)
данные о ячейках и свойствах предмета расположены в Octets, а именно - в самом конце записи, перед доп. свойствами.
в данном случае свойств нет, поэтому их место занимают нули (восемь нулей в самом конце строки, выделено желтым). восемь нулей перед доп. свойствами - это количество ячеек (зеленым)

http://s52.radikal.ru/i137/0904/92/d578ef6fbaa3t.jpg

принцип добавления ячеек такой - во второй позиции восьмерки указываем нужное количество:
04000000
и на каждую новую ячейку нужно добавить по восемь нулей, т.е. всего 32 нуля.
таким образом получим:

http://s40.radikal.ru/i089/0904/fa/b59aa9ce3a4e.jpg
-
http://s60.radikal.ru/i169/0904/3b/39315dfd84d5t.jpg

заменяем XML, сохраняем.
заходим в игру и видим, что у клинка появилось 4 ячейки B)

http://s43.radikal.ru/i102/0904/0d/e9d082f2ac44t.jpg

-
Урок 4. добавляем свойства в предмет
что понадобится:

PWGen1

заходим в игру и покупаем к примеру броньку:

http://s51.radikal.ru/i131/0905/cc/68ee0c9fb597t.jpg

выходим и открываем iweb - xml. там вытягиваем строку octets доспеха, вот она

3c00ff004000000040000000003200000032000024000300650100000000000000000000000000
002b0200002b0200002b0200002b0200002b0200000000000000000000

запускаем PWGen1 и вставляем эту строку туда. жмем кнопку "Выполнить":

http://s52.radikal.ru/i138/0905/28/17d11554084ft.jpg

в программе мы можем редактировать требования, добавлять ячейки а также доп. свойства.
поставим для начала защиту от стихий там где "Характеристики брони"

http://s45.radikal.ru/i110/0905/b4/377b559c2821t.jpg

жмем внизу "Показать панель экспорта" и справа "Начать экспорт"
после обработки внизу появится готовая строка Octets, жмем "Скопировать" и идем в iweb.
вставляем измененную строку в xml, сохраняем и проверяем в игре.

http://s55.radikal.ru/i147/0905/f6/a64f91a2fd61t.jpg

выходим снова и возвращаемся в PWGen1
у нас имеются след. бонусы:

Описание ID св-ва Множитель
1e450000 de000000 01000000 8 тактик
11450000 92000000 01000000 Жестокий воин
1b450000 dd000000 01000000 Уверенность
16450000 d9000000 01000000 Месть
bd410000 29030000 01000000 Изоляция
be410000 2a030000 01000 000 Разъедающий дух

след. бонусы брони:

ID св-ва Оригинальный множител Описание
74220000 50000000 Первый бонус HP
37210000 01000000 Уменьшение физического урона %
76220000 69000000 Второй бонус HP
7b220000 be000000 Первый бонус MP
44210000 14000000 Скорость восстановления здоровья
48210000 08000000 Скорость восстановления маны
ba250000 06000000 Бонус Выносливости
7e220000 9a99993e Скорость передвижения
b4250000 06000000 Бонус Интелекта
90220000 5e000000 Физ. защита
19260000 81010000 Защита от дерева

след. бонусы бижи:

ID св-ва Оригинальный множител Описание
53220000 0f000000 Время пения -%
9a250000 06000000 Бонус Ловкости
9f250000 05000000 Бонус Интелекта
a8250000 0a000000 Бонус Выносливости
49220000 14000000 Вероятность критического удара %
96250000 06000000 Бонус Силы
fc230000 26000000 Магическая атака
f4230000 26000000 Физическая атака

добавим к примеру 8 тактик. для этого в секции "Бонусы" нужно в поле "Количество" поставить 1
а внизу вставить 1e450000 de000000 01000000 (каждый бонус состоит из трех сегментов, как и скиллы)

http://i019.radikal.ru/0905/74/9c07664c6ecct.jpg

жмем "Начать экспорт" - "Скопировать" и вставляем в XML
проверяем
http://s52.radikal.ru/i135/0905/c5/8bf1b575b271t.jpg

ок, далее попробуем добавить пару статистик брони (это ведь броня :))
ставим количество 3 и саму строку бонусов
1e450000 de000000 01000000 44210000 14000000 37210000 01000000

проверяем. вот что вышло:

http://s41.radikal.ru/i093/0905/71/f14cd8152a2at.jpg

Авторские права на данный материал принадлежат Пила и KOT Форум

0

4

Бонусы для вещей (alexdnepro & teray)

Одним чудным вечером, наш уважаемый alexdnepro нашел файлик в клиенте который содержал себе странные циферки. Начав проверять, оказалось что это та самая база бонусов для вещей. Совместно начали проверять и переводить данные бонусы.
Начнем с того, что бонусы хранятся в configs.pck в файлике item_ext_prop.txt
Глава 1.
Невооруженным глазом видно, что сие бонусы разбиты на типы/группы.
То есть, в определенную группу внесены бонусы с одним и тем же параметром.
Например:
0: Физ атака
Собраны все ID бонусов дающих физ атаку.
[реклама вместо картинки]
Внимание! некоторые бонусы НЕ работают, и более того. Хоть бонусы и собраны в один тип, в них есть различия. Одни бонусы например работают только на пухах, другие же только на бронях.
Едем дальше...

Глава 2.

Так же в этом списке, обозначены все так называемые бонусы-скиллы, они так же непонятным образом дублируются.
[реклама вместо картинки]

445 (Изоляция: наносит 5000 ед урона кровотечением в течении 15 секунд)
446 (Разъедающий дух: уменьшает максимальный запас здоровья цели)
447 (Отталкивание: Прерывает навыки цели и отбрасывает чудовищ назад на 10 м.)
448 (Концентрация: Вы получаете 20 ед ярости)
449,(Разрушительный дух: Снимает все благословения с цели)
450 (Нокаут: Нокаутирует цель на 5 сек.)
451,(Замедление: Замедляет движение цели)
452,(Остановка: Цель будет неподвижна в течении 3 сек)
453,(Разрушение: уменьшает физическую защиту цели)
454,(Нокаут: Нокаутирует цель на 5 сек.)
455,(Замедление: Замедляет движение цели)
456,(Остановка: Цель будет неподвижна в течении 3 сек)
457,(Разрушение: уменьшает физическую защиту цели)
458,(Нокаут: Нокаутирует цель на 5 сек.)
459,(Замедление: Замедляет движение цели)
460 (Остановка: Цель будет неподвижна в течении 3 сек)
461 (Разрушение: уменьшает физическую защиту цели)
1275, (Разрушение: уменьшает физическую защиту цели)
1276, (Слабость: Уменьшает магическую защиту цели)
1277, (Грубость: Уменьшает физическую атаку цели)
1278, (Развеять дух: Уменьшает магическую атаку цели)
1279, (Лень: Уменьшает скорость атаки)
1280, (Скука: уменьшает скорость активации цели)
1281, (Слепота: снижает точность цели)
1282, (Неловкость: снижает у цели способности к уклонению)
1283, (Стойкость: увеличивает собственную физическую защиту)
1284, (Интуиция: увеличивает собственную магическую защиту)
1285, (Замедление: замедляет движение цели)
1286, (Кулак-лезвие: увеличивает собственную силу физической атаки)
1287, (Проворство: увеличивает собственную скорость атаки)
1288, (Сообразительность: повышает точность)
1289, (Регенерация: восстанавливает 5% здоровья)
1290, (Возобновление: восстанавливает 5% энергии)
1291, (Недовольство: Значительно усиливает физическую атаку за счет потери 5% энергии)
1292, (Последний рубеж: значительно усиливает физическую атаку за счет уменьшения физической защиты)
1293, (Насмешка: заставляет всех врагов атаковать вас)
1294, (Нокаут: Нокаутирует цель на 5 сек.)
1295, (Остановка: Цель будет неподвижна в течении 3 сек)
1296, (Печать: цель не сможет атаковать в течении 5 секунд)
1297, (Жестокий воин: определенный шанс нанести двойной урон, теряя при этом 5% от вашего максимального запаса здоровья)
1298, (Ярость: вводит в состояние бешенства удваивая силу и скорость атаки, за счет получения большего урона)
1299, (Медитация: восстанавливает 5% здоровья и энергии)
1300, (Кипящая кровь: восстанавливает 10% здоровья)
1301, (Горящий дух: восстанавливает 10% энергии)
1302, (Месть: восстанавливает 5% здоровья и увеличивает собственную силу физической атаки)
1303, (Нирвана: восстанавливает 5% энергии и увеличивает собственную силу физической атаки)
1304, (Шипастая броня: увеличивает собственную физическую защиту и 25% рукопашного урона)
1305, (Таинственный щит: уменьшает весь получаемый урон на 20%)
1306, (Успех: увеличивает силу физической атаки и физическую защиту)
1307, (Уверенность: восстанавливает 5% здоровья и увеличивает собственную физическую и магическую защиту)
1308, (Отчаянье: парализует цель на 5 секунд, но вы будете парализованы на 10 секунд)
1309, (Вера: восстанавливает 5% здоровья и снимает проклятья)
1310, (Восемь тактик: вызывает паралич и опечатывает)

Внимание! Данные скиллы бонусы работают только на пухах, на бронях и прочих вещах они не работают.

Глава 3.

Бонусы за комплектами вещей.
Данные бонусы, не попали в отдельный тип. Но их не много, так что я перечислю все:
Порядок их айди с 1895 по 1909, они повторяются. например 1901 и 1904 это -0,05 к скорости атаки.

1902, 1905 и 1908 это +15 выносливости
1903, 1906 и 1909 это +3% крита
1907 это -3 пения.
Есть ещё бонусы, но их работоспособность у меня вызывает сомнение. Повесил как то бонус на инту, и толку было 0.
1895 это сила +10
1897 это ловкость +10
1899 это интеллект +10
1896, 1898 и 1900 это снижение физ повреждений +3%

В работоспособности их не уверен. Среди них много косяков.

Глава 4.

Перечислю сами типы этих бонусов. Не даю гарантии что они идут именно в том порядке котором я сейчас изложу. Но принцип вам думаю станет понятен, во всяком случае гайд пишется не для чайников)

0: Физ атака
1: Макс Физ атака
2: Физ атака (%)
3: Маг атака
4: Макс Маг атака
5: Маг атака (%)
6: + Физ защита
7: + Защита от огня
8: + Маг защита
9: АСПД
10: Диапазон атаки
11: Пение время

12: Физическая защита
13: Физическая защита (%)
14: Маг защита
15: Защита от металла +
16: Защита от металла +(%)
17: Защита от дерева +
18: Защита от металла +(%)
19: Защита от воды +
20: Защита от воды +(%)
21: Защита от огня +
22: Защита от огня +(%)
23: Защита от земли +
24: Защита от земли +(%)
25: Здоровье
26: Мана
27: Макс ХП +(%)
28: Мана +(%)
29: Скорость восстановления хп
30: Скорость восстановления мп
31: Сила
32: Ловкость
33: Интеллект
34: Телосложение

35: Крит+(%)
36: Меткость
37: Меткость +(%)
38: Скорость движения
39: Скорость движения + (%)
40: Уклон +
41: Уклон +(%)
42: Прочность +
43: Прочность +(%)
44: Уменьшение физ урона
...
Требования -%
Параметры не известны(требуется оценка)
Опыт +(%)
Рейтинг атаки +
Класс брони +

Авторские права на данный материал принадлежат alexdnepro, teray и KOT Форум

0

5

дополнение от Raidhon

txt

0

6

Урок 5. скилы персонажа

чтобы двигаться дальше нам понадобится в игре кое-что скрафтить. для этого нужны крафт-скилы, а качать их лень.
ну что-же, в этой части урока добавим нашему персу крафт-скилы ;)
итак, крaфт-скилы(любые скилы) в XML расположены после тега "skills" и имеют следующие id

9e000000 - Кузнец
9f000000 - Портной
a0000000 - Ювелир
a1000000 - Аптекарь

http://usd.3dn.ru/images/pusto.gif
http://usd.3dn.ru/images/pusto.gif
http://s43.radikal.ru/i100/0905/a1/9858d7a85c75t.jpg

кроме id скилы имеют еще уровень и показатель количества. напомню, что данные в октетах (Octets) это данные в шестнадцатиричной системе исчисления и препарируются на кусок состоящий из 8 символов (восем нулей к примеру).
для удобства будем называть каждые 8 символов сегментом.
итак, открываем xml нашего перса и видим, что в skills уже есть какие то непонятные сегменты.
http://usd.3dn.ru/images/pusto.gif
02000000010000000000000001000000a70000000000000001000000
http://usd.3dn.ru/images/pusto.gif
посчитаем символы, их 56, а сегментов 7.
хм.....
вспомним, как мы добавляли дырки в оружие, посмотрим на начальный сегмент 02000000
что-то это мне напоминает............
ах, да! количество дырок! а в данном случае - не дырок, а количество скилов!
вернемся в игру и проверим, у персонажа естъ 2 скила, это портал и удар тигра.
именно их мы и видим в XML.

http://i003.radikal.ru/0905/c0/35ad59df68a0.jpg

ок, выходим из игры и идем дальше. отделим мух от котлет, т.е. количество от самих скилов.
останется:
010000000000000001000000a70000000000000001000000
первые три сегмента - это удар тигра, вторые три - портал.
010000000000000001000000, a70000000000000001000000
запомните, один скил состоит из трех сегментов. рассмотрим удар тигра поближе:
01000000 00000000 01000000
в первом сегменте хранится ID скила, во втором данные о количестве (для крафт-скила), в третьем левел скила. в данном случае это НЕ крафт-скил, поэтому второй сегмент состоит из нулей.
приведем скил удар тигра к виду
01000000 00000000 0a000000
и уберем пробелы
01000000000000000a000000
почему в последнем сегменте я указал ?
это значение 10 в шестнадцатиричном виде. другими словами - я изменил левел скила удар тигра с 1 на 10 (это максимальный уровень скила).
ну и конечно затестим. вот что у нас вышло:

0200000001000000000000000a000000a70000000000000001000000

вставляем полученное в айвеб (в тег skills), сохраняем
заходим в игру, смотрим

http://s60.radikal.ru/i170/0905/34/dfb51c7f7bc6.jpg

уряяяя, мы совсем круты :D
но цель наша не в том, чтобы поднять уровень, нам нужно добавить крафт-скилы ;)
ок, вспоминаем состав крафт-скилов.
первый сегмент: id
второй сегмент: количество крафта
третий сегмент: уровень
изменим исходное
02000000 01000000 00000000 0a000000 a7000000 00000000 01000000
на
03000000 01000000 00000000 0a000000 a7000000 00000000 01000000 00000000 00000000 00000000
мы изменили количество на 3 скила
03000000
и добавили в конец три пустых (пока) сегмента, это наш будущий крафт-скил.
00000000 00000000 00000000
эти три сегмента меняем на нужный крафт-скил (кузнец)
9e000000 c8000000 0a000000
разберем подробно:
9e000000 - это id (см. вверху)
c8000000- это кол-во скрафченого(200 в десятичной будет с8 в шестнадцатеричной)
0a000000- левел 10.
ок, соединим и уберем пробелы, что у нас получилось:

0300000001000000000000000a000000a700000000000000010000009e000000c80000000a000000
вставляем в айвеб, сохраняем и проверяем :)

http://s41.radikal.ru/i093/0905/55/53bb44f36aee.jpg

воть http://usd.3dn.ru/sml/pw_damn.gif
--

ссылка на xml

Авторские права на данный материал принадлежат Пила и KOT Форум

0

7

это хорошо что сохранился гайд с юкоза

0

8

elis1112 написал(а):

это хорошо что сохранился гайд с юкоза

весь форум с юкоза usd.3dn.ru

0


Вы здесь » KOT Форум » PW сервер » работаем с IWEB (редактор XML)