WhiteRose Perfect World PVP Server Скачать+ НовостьКабинет ИгрокаФорумНовоеTS 2ГАЛЕРЕЯПомощь! Форумы WhiteRose Perfect World PVP Server :: Форумы :: База знаний Perfect World :: Серверная часть игры Отслеживать эту тему << Предыдущая тема | Следующая тема >> IWEB - редактор XML Модераторы: zver-007, AndyMir, Vito, NoKeY, egortar, wertualrolf, KING2142, vova23231 Автор Добавил zver-007 пт окт 30 2009, 16:50 Fenix ID пользователя #1 Зарегистрирован: вт май 12 2009, 23:13 Сообщений: 174 IWEB - думаю все слыхали!) IWeb дает нам большие возможности по редактированию персонажа и вещей в удобном виде, с помощью XML. К примеру, можно поменять скилы, уровень, культивацию, очки опыта, дух, ник, кол-во денег, очки умений, местоположение в мире, также дать/удалить вещь, даже добавить/убрать ячейки в вещи и придать ей доп. свойства. Урок 1. Добавляем вещи персонажу через XML Доступно только для пользователей Перс, над которым мы будем проводить опыты - это персонаж только созданный, 1-го левела, женского пола, воин, с пустым рюкзаком. [ссылка] Итак, для начала посмотрим, где в XML перса хранятся вещи. запустим сервер (проверьте, чтобы стартовал iweb), после полного запуска серва откроем страницу айвеб-а в браузере (xttp://ВАШ_IP:8080/iweb/loginform.jsp), войдем и перейдем на "Редактор персонажей". Важно! перед изменением чего-нибудь через IWeb вы должны выйти из игры (выйти на страницу выбора персонажа) [ссылка] Внизу указываем имя (или ID) персонажа и жмем на ссылку XML персонажа.http://radikal.ru/F/s45.radikal.ru/i107/0904/30/f8a96bff3cdd.jpg.html на которой мы видим данные перса в виде XML (в синем поле) важно! сделать ошибку в XML очень легко, поэтому перед тем, как вы начнете что-либо менять в XML сделайте резервную копию исходного XML, выделите все в синем поле, скопируйте в буфер, потом откройте блокнот, вставьте и сохраните куда-нибудь на диск. это позволит восстановить исходного перса, если что-то пойдет не так. для удобства я перенес XML содержимое в редактор MSWord. [ссылка] Далее смотрим на рисунок, самое для нас сейчас интересное - это рюкзак перса и его экипировка. Все, что находится между тегами pocket (выделен красным) это рюкзак персонажа. Сейчас рюкзак пуст, поэтому кроме денег там ничего нет. Дадим сразу денег, к примеру 100 кк. Для этого просто впишите вместо 0 нужную цифру smile должно выглядеть так: 100000000 Что находится между тегами equipment (выделен синим) - это экипировка. Ищем в базе громкоговоритель. Если посмотреть в адресную строку браузера, то вы увидите ID предмета - 12823 Положим его в рюкзак, для этого добавим в наш XML след. код: Code 12823011030000008000524288 [ссылка] Обратите внимание, каждая вещь находится внутри тега items. обратите внимание куда вставлена вещь, - после money, и перед reserved1 ! Важное, на рисунке отмечена позиция, куда будет полoжена вещь, в данном случае 0. это означает, что вещь будет занимать первую ячейку в рюкзаке, вторая ячейка в рюкзаке соответствует значению 1, ну и т.д. теперь копируем наш xml из ворда и вставляем в IWeb нашего чара, жмем внизу "Сохранить" Заходим в игру и видим в рюкзаке появился громкоговоритель, а также небольшое количество денех biggrin [ссылка] Урок 2. Меняем левел персонажа и другие его параметры. Итак, для начала выйдем из клиента. Доступно только для пользователей. Открываем страницу IWeb, вводим id или имя перса и жмем кнопку "Стандартная информация о персонаже". Наша задача поднять левел, ну например с 1 до 200 wink Чтобы не было проблем запомните, при изменении левела нужно провести предварительный несложный расчет очков, сколько будет всего, сколько раскидать на статы. Перейдем к делу, отнимаем от 200 (наш будущий левел) 1(наш нынешний левел). 200 - 1 = 199 теперь умножим 199 на 5 (это сколько очков всего появится) 199 х 5 = 995 Мы можем просто оставить эти статы нераспределенными и распределить в игре, для этого просто указываем "Уровень:" 200 и "Очки умений:" 995. жмем Сохранить, заходим в игру и распределяем очки: [ссылка] Увы, мышкой клацать 995 раз не очень-то интересно biggrin поэтому прямо в IWeb указываем в какие характеристики пойдет сколько очков. Пример: на ловкость пойдет 150, а на силу все остальное. 995 - 150 = 845 (это на силу скоко останется) считаем 5 + 150 = 155 (ловкость) 5 + 845 = 850 (это силa) [ссылка] [ссылка] Дополнение: Данная версия iweb не позволяет давать левел персу выше 999 через стандартную информацию о персонаже, больше просто не получится вписать. Нам это не подходит, и хотелось-бы давать до 30000 левела, а не клацать в игре мышкой до посинения, распределяя статы wacko пошурудив внутри iweb-a я обнаружил, что за это поле отвечает файл modrole.jsp, который находится по адресу /opt/jakarta-tomcat-5.5.9/webapps/iweb/roles/ находим внутри этого файла строку maxlength="3" и ставим 5 будет так: Quote maxlength="5" [ссылка] Сохраняем, запускаем сервер. все, теперь в айвеб можно крутить левел до 30000 wink [ссылка] если будете кидать готовый файл, не забудьте поставить на него права 644 - p.s. Чтобы изменить статус персонажа нужно в поле Культивация поставить соответствующее число, напр. для статуса "Благочестивый" ставим 8. Урок 3. добавляем ячейки в предмет В этом уроке вы узнаете как добавить в предмет ячейки. Доступно только для пользователей ячейки можно добавлять только в те предметы, которые могут их иметь. будет совсем не правильно пытаться добавить ячейки например в кольца, последствием будет то, что вы не зайдете вообще на сервер. итак, возьмем к примеру клинок "Смерть полководца" (можно купить у кузнеца) Вот его xml В базе написано, что шанс создания этого клинка с макс. 2 ячейками, ну что-ж, посмотрим выйдет ли у нас сделать 4 ячейки wink данные о ячейках и свойствах предмета расположены в Octets, а именно - в самом конце записи, перед доп. свойствами. В данном случае свойств нет, поэтому их место занимают нули (восемь нулей в самом конце строки, выделено желтым). восемь нулей перед доп. свойствами - это количество ячеек (зеленым) [ссылка] Принцип добавления ячеек такой - во второй позиции восьмерки указываем нужное количество: 04000000 И на каждую новую ячейку нужно добавить по восемь нулей, т.е. всего 32 нуля. таким образом получим: [ссылка] [ссылка] заменяем XML, сохраняем. заходим в игру и видим, что у клинка появилось 4 ячейки cool [ссылка] Урок 4. добавляем свойства в предмет что понадобится: [ссылка] [ссылка] Выходим и открываем iweb - xml. там вытягиваем строку octets доспеха, вот она 3c00ff004000000040000000003200000032000024000300650100000000000000000000000000 002b0200002b0200002b0200002b0200002b0200000000000000000000 Запускаем PWGen1 и вставляем эту строку туда. жмем кнопку "Выполнить": [ссылка] в программе мы можем редактировать требования, добавлять ячейки а также доп. свойства. Поставим для начала защиту от стихий там где "Характеристики брони" [ссылка] жмем внизу "Показать панель экспорта" и справа "Начать экспорт" после обработки внизу появится готовая строка Octets, жмем "Скопировать" и идем в iweb. Вставляем измененную строку в xml, сохраняем и проверяем в игре. [ссылка] выходим снова и возвращаемся в 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 (каждый бонус состоит из трех сегментов, как и скиллы) [ссылка] Жмем "Начать экспорт" - "Скопировать" и вставляем в XML проверяем [ссылка] Далее попробуем добавить пару статистик брони (это ведь броня :)) ставим количество 3 и саму строку бонусов 1e450000 de000000 01000000 44210000 14000000 37210000 01000000 проверяем. вот что вышло: [ссылка] Урок 5. скилы персонажа Чтобы двигаться дальше нам понадобится в игре кое-что скрафтить. для этого нужны крафт-скилы, а качать их лень. ну что-же, в этой части урока добавим нашему персу крафт-скилы wink итак, крaфт-скилы(любые скилы) в XML расположены после тега "skills" и имеют следующие id 9e000000 - Кузнец 9f000000 - Портной a0000000 - Ювелир a1000000 - Аптекарь [ссылка] Кроме id скилы имеют еще уровень и показатель количества. напомню, что данные в октетах (Octets) это данные в шестнадцатиричной системе исчисления и препарируются на кусок состоящий из 8 символов (восем нулей к примеру). Для удобства будем называть каждые 8 символов сегментом. Итак, открываем xml нашего перса и видим, что в skills уже есть какие то непонятные сегменты. 02000000010000000000000001000000a70000000000000001000000 посчитаем символы, их 56, а сегментов 7. хм..... вспомним, как мы добавляли дырки в оружие, посмотрим на начальный сегмент 02000000 что-то это мне напоминает............ ах, да! количество дырок! а в данном случае - не дырок, а количество скилов! вернемся в игру и проверим, у персонажа естъ 2 скила, это портал и удар тигра. именно их мы и видим в XML. [ссылка] ок, выходим из игры и идем дальше. отделим мух от котлет, т.е. количество от самих скилов. останется: 010000000000000001000000a70000000000000001000000 первые три сегмента - это удар тигра, вторые три - портал. 010000000000000001000000, a70000000000000001000000 запомните, один скил состоит из трех сегментов. рассмотрим удар тигра поближе: 01000000 00000000 01000000 в первом сегменте хранится ID скила, во втором данные о количестве (для крафт-скила), в третьем левел скила. в данном случае это НЕ крафт-скил, поэтому второй сегмент состоит из нулей. приведем скил удар тигра к виду 01000000 00000000 0a000000 и уберем пробелы 01000000000000000a000000 почему в последнем сегменте я указал 0а? Єто значение 10 в шестнадцатиричном виде. другими словами - я изменил левел скила удар тигра с 1 на 10 (это максимальный уровень скила). ну и конечно затестим. вот что у нас вышло: 0200000001000000000000000a000000a70000000000000001000000 Вставляем полученное в айвеб (в тег skills), сохраняем Заходим в игру, смотрим [ссылка] Но цель наша не в том, чтобы поднять уровень, нам нужно добавить крафт-скилы wink ок, вспоминаем состав крафт-скилов. первый сегмент: 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 Вставляем в айвеб, сохраняем и проверяем smile [ссылка] [ Редактирование вт янв 05 2010, 13:25 ] [img] Наверх AndyMir вт янв 05 2010, 13:36 Всия одмин ID пользователя #2 Зарегистрирован: ср май 13 2009, 23:33 Сообщений: 936 Октет Эдитор конечно чёткая штука. Наверх Быстрый ответ: Перейти: Подключение к северуБолталкаВсе возможные гайды по Perfect WorldКланыОбщееGameMastersЮморОнлайн игрыForgottenHope 0.7ФТопкеПарнаяАрхивЖелезо и софтКлиентская часть Perfect WorldФото-конкурсСерверная часть игрыокончание фотоконкурса 07.11.2009СайтOld Clans Наверх Powered by e107 Forum System © White Rose Team 2009 [UA-IX] Обратная связь Внимание! Согласно законодательству некоторых стран, игра на нашем сервере может считаться незаконной. Пожалуйста проконсультируйтесь прежде чем начать играть здесь! Если Ваше действие нарушает государственный или другой закон страны, в которой Вы проживаете, то администрация и команда «WhiteRose» никоим образом не несет за это ответственность. Время генерации: 0.1084 сек., 0.0288 из этого заняли запросы. Запросов БД: 32. Использовано памяти: 842,264Б