La2offline
Форум | Войти | Регистрация [ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Актуален ли ещё проект La2offline?
Всего ответов: 874

  • Страница 1 из 1
  • 1
Архив - только для чтения
Форум La2offline » Архивы старых тем » Архив раздела "Support" » Мануалы » Мануал: Создаем ходячего НПС по локации.
Мануал: Создаем ходячего НПС по локации.
Doc77x Дата: Вторник, 07 Февраля 2012, 16:36 | Сообщение # 1
Lvl 5
Я: Пользователь
XP: 7
Репутация: 0
Статус: Оффлайн
Для работы используем программы:
Navicat - работа с базой
L2FileEdit - 1.0.0.31 или более поздней версии с подержкой русского языка.

Чтоб создать движение НПС по локации нам нужно задать ему координаты движешия в самой базе.
Начнем все по попорядку.
Сначало нам нужен сам НПС, его можно создать или использовать уже готового в игре.
Я буду использовать уже имеющегося, таким образом я преукрашу сервер неким движением по карте НПС, а также сделаю выкрик НПСа в чат.
Заходим в игру и находим НПЦ жертву :) . Для информации НПСа, жмем по нему, нажатием Shift + пр.кнопка мыши. Смотрим информацию, нас интересует его ID.
Переписываем ID на листочек или запоминаем и заходим в базу через Navicat или другую (Вашу) программу.
Чтоб создать движение НПС по локации нам нужно задать ему координаты движешия в самой базе.
Начнем все по попорядку.
Сначало нам нужен сам НПС, его можно создать или использовать уже готового в игре.
Я буду использовать уже имеющегося, таким образом я преукрашу сервер неким движением по карте НПС, а также сделаю выкрик НПСа в чат.
Заходим в игру и находим НПЦ жертву :) . Для информации НПСа, жмем по нему, нажатием Shift + пр.кнопка мыши. Смотрим информацию, нас интересует его ID.
Переписываем ID на листочек или запоминаем и заходим в базу через Navicat.
Нас интересуют файлы: "npc", "walker_routes"
Создадим свою строку в базе "npc".
Откываем фаил "npc", находим наш ID записанный заранее. Меняем на наш номер в колонке 'id'.
Нажимаем по маленькой черной стрелочке слева в колонке, чтоб выделить всю строку. Кнопками ctrl+C скопируем в буфер обмена.
Теперь вернем строке родной ID. Находим в рабочем окне знак "+" добавить строку, и опять по маленькой черной стрелочке мышкой, и жмем ctrl+V - вставить, строка готова.

Разберем строку:
Code
'id' - персональный идентификатор объекта.
'idTemplate' - вторичный идентификатор объекта (позволяет использовать соседние ID объектов)
'name' - имя объекта.
'serverSideName' - имя объекта для номера сервера (если используете только для определенного сервера, указать его номер, для всех "0")
'title' - описание.
'serverSideTitle' - описание объекта для номера сервера (если используете только для определенного сервера, указать его номер, для всех "0")
'class' - класс объекта (для нас, он будет как информативный характер).
'collision_radius' - облать выделения объекта.
'collision_height  - высота объекта над областью.
'level' - уровень объекта.
'sex' - пол объекта "male"мужской, "female"женский .
'attackrange' - дальность атаки.
'hp' - количество жизни.
'mp' - количество маны.
'hpreg' - скорость восстановления жизни.
'mpreg' - скорость восстановления маны.
'str','con','dex','int','wit','exp','sp' - понятно и так.
'patk' - пикавая атака.
'pdef' - пикавая защита.
'mdef' - магическая защита.
'atkspd' - скорость атаки объекта.
'aggro' - агрессивность объекта (определяет шанс нападения объекта).
'matkspd' - скорость магической атаки.
'rhand''lhand' сила рук, правая, левая.
'armor' - защита объекта.
'walkspd' - скорость передвижения объекта.
'runspd' - скорость бега объекта.
'faction_id' - группа объекта.
'faction_range' - облать группы.
'isUndead' - тип объекта, "1" нежить.  
'absorb_type' - абсорбционная способность.
'ss''bss''ss_rate' - использование сосок и процент использования.
'AI' - искуственный интелект (балансировка).
'drop_herbs' - вываливаются ли банки.

Нам нужно указать тип НПС в колонке'type', "L2NpcWalker".

Переходим к файлу walker_routes, давайте разберем его.
Code
route_id - номер маршрута  
npc_id - номер нашего НПС
move_point -  номер перемещения действия.
chatText - слова выкрикивающим НПС на точке маршрута.
move_x, move_y, move_z - место положения по осям x,y,z.
delay - задержка по времени выполнения следующего цикла.
running - движение, если '0' ходить, '1' бегать.

Теперь вернемся в игру. Подбераем место где будет рассполагаться наш НПС (первый маршрут при рестарте сервера).
Делаем макрос "/loc", чтоб облегчить нам работу (это думаю все умеют).
Веделив себя и нажав на макрос смотрим координаты место положения.
В базе walker_routes также через "+" создаем строку и заполняем координаты, каждая сторока - цикл выполнения передвижения, поэтому будьте внимательны в назначение координат.
Также можно прописать в "chatText" текст выкрикивания НПС. Он будет отображатся в чате игры во время затрагиваня точки маршрута.
Теперь нам нужно задать имя НПС.
Запускаем L2FileEdit и открываем фаил "npcname-e.dat".
Копируем понравившеюся строчку и вставляем вниз списка, заменим ей ID на свою.
Не забываем в конце списка оставлять пустую строку!

Разберем строку из "npcname-e.dat": 2 a, a, 9C E8 A9 -1
Code
'id' - номер объекта (должен соответствовать с номером в базе)
'name'  - имя объекта
'description'  - описание, отображаемое выше над именем
'rgb[0],rgb[1],rgb[2]' - цвет описания, задается в цветовом коде (красный,зеленый,синий)
'reserved1' - резервирования, по умолчанию ставить '-1'

У меня получилось так:
Code
2    u,Черный рынок    u,Контрабандист    9C    E8    A9    -1

Если вы пишете русским шрифтом, то перед текстом нужно изменить (a,) на (u,).
Теперь осталось зайти в игру и установить НПСа.

В некоторых объектах в игре, нет анимации передвижения.
Небольшой список нормальных НПС.
31356,31357,31358,31359,31360,31361,31362,31363,31364,31365,31370,31372.
также можно использовать мобов.

Erorr: Если у Вас отказывается читать с НПСа 'name' и 'description', а читает с другой строки. Заметил на этой сборке, возможно только у меня.
Прийдется еще чуток поработать, создадим новую группу НПС.
Запускаем "L2FileEdit", откроем фаил "npcgrp.dat", скопируем строчки с того НПС с которых брали 'ID', теперь в строке изменим ID НПСа на наш. Сохраняем.
Далее зайдем в базу и в 'npc' изменим 'idTemplate' на тот который стоит в 'ID'.
Erorr: Не хочет сохраняеть фаил "npcgrp.dat" или "npcname-e.dat"
Проверьте, возможно нарушили табуляцию в строке файла.
Не оставили пустую строку внизу списка.
Erorr: При установке, объект не отображается на экране.
Неправильно указан в базе 'idTemplate'.
Нечитаемая текстура
Неправильно сделана строка в "npcgrp.dat".
 
Форум La2offline » Архивы старых тем » Архив раздела "Support" » Мануалы » Мануал: Создаем ходячего НПС по локации.
  • Страница 1 из 1
  • 1
Поиск:

jmaniac © 2010-2021
E-mail для связи: La2offline@ya.ru
Сайт управляется системой uCoz