Реклама: Новые сервера Lineage 2

Создание своего NPC

4 августа 2009
Создание своего NPC

В этой статье мы рассмотрим все шаги в создании нового персонажа Lineage 2. Хочу обратить внимание на то, что мы не будем создавать текстуру для нашего персонажа, нет, мы возьмём для этого уже существующую текстуру. Данная статья рассчитана на новичков в серверо-строении, так что если вы опытный администратор L2j серверов, вам это новинкой не будет и полезности не принесёт.

Что нам для этого нужно

Как и для всей другой работы, нам нужен инструмент, а что именно, давайте рассмотрим ниже.
1. Нам потребуется хороший текстовый редактор. Я советую использовать Notepad++
2. Так же нам потребуется любой менеджер баз данных MySQL. Например, Phpmyadmin.
3. И самое главное – это терпение и внимательность.
Приступим?

Шаг первый

Начнём с самого основного, с создание самого NPC. В данной статье я использую сервер L2jServer и клиент Lineage 2 Gracia, но если у вас сервер от других разработчиков то, не переживайте, у вас все получится.

Откроем наш Phpmyadmin, он находится по адресу http://localhost/phpmyadmin/ и в выпадающем списке выберем нашу базу данных, по умолчанию это l2jdb. Перед вами раскроется список всех таблиц, которые содержатся в этой базе данных. Найдите таблицу под названием «npc» нажмите напротив кнопку «Обзор» (первый «квадратик» справа от названия таблицы). Теперь перед вами весь список «npc» которых вы встречаете на землях Lineage 2. В низу списка есть еще постраничная навигация «Номер страницы» выберите самую последнюю страницу, у меня это «282». Здесь мы сможем увидеть последний «используемый» индификатор (ID) npc. Давайте подробно рассмотрим строку с ID 36480 (Это менеджер репутации). Приведу самые нужные в данном уроке столбцы.

a) Id – индификатор npc в игре.
b) idTemplate – индификатор «npc» у которого мы возьмем внешний вид.
c) name – имя которое отображается в игре.
d) serverSideName – имеет значения 0 и 1, если 1 то показываем имя, в противном случае нет.
e) title – загаловок «npc» обычно используется для подсказки, что именно это за «npc».
f) serverSideTitle – идентично «serverSideName», имеет значение 0 и 1, только относится к «title».
g) class – индификатор используемой текстуры «npc».

С этим разобрались, теперь создадим новую запись в таблице «npc», для этого можно нажать на кнопку «вставить» которая находится сверху в Phpmyadmin, но это долго будет и мучительно для новичка. Так что я вам привожу запрос, который нужно выполнить. Для этого я взял «npc» под ID 31698 (Arisha – Gatekeeper).

INSERT INTO `npc` VALUES (31698, 31698, 'Arisha', 0, 'Gatekeeper', 0, 'NPC.e_teleporter_Fhuman', 8.00, 25.00, 70, 'female', 'L2Teleporter', 40, 3862, 1493, 11.85, 2.78, 40, 43, 30, 21, 20, 10, 0, 0, 1314, 470, 780, 382, 278, 0, 333, 0, 0, 0, 50, 120, 'NULL', 0, 1, 0, 'LAST_HIT', 0, 0, 0, 'fighter', 'false');


И так, у нас есть нужный нам запрос, давайте, его выполним. Для этого сверху в Phpmyadmin нажмите на кнопку «SQL» но, перед тем как добавить этот запрос, пожалуйста, измените ID на тот что вам нужен (нужно использовать любой не занятый). Я выбрал значение 40000 ID нашего будущего «npc». Изменили и получили следующий запрос.

INSERT INTO `npc` VALUES (40000, 31698, 'Arisha', 0, 'Gatekeeper', 0, 'NPC.e_teleporter_Fhuman', 8.00, 25.00, 70, 'female', 'L2Teleporter', 40, 3862, 1493, 11.85, 2.78, 40, 43, 30, 21, 20, 10, 0, 0, 1314, 470, 780, 382, 278, 0, 333, 0, 0, 0, 50, 120, 'NULL', 0, 1, 0, 'LAST_HIT', 0, 0, 0, 'fighter', 'false');


Хорошенько присмотримся и видим то, что нам нужно изменить, правда? Конечно ведь зачем нам еще один «npc» с таким же именем. Изменяем на любое вам понравившееся (в дальнейшем сможете менять, как захотите). Назову ее (так как модель (текстура) женщины) Diana, имя красивое и думаю, она не против. Так же обратите внимание на параметр «type», здесь мы отчётливо видим то, что наш будущий персонаж Телепорт. Исправляем его на «L2Npc», тоесть на обычного «npc». Получаем следующий код.

INSERT INTO `npc` VALUES (40000, 31698, 'Diana', 1, 'Из www.Zone-Game.info', 1, 'NPC.e_teleporter_Fhuman', 8.00, 25.00, 70, 'female', ' L2Npc ', 40, 3862, 1493, 11.85, 2.78, 40, 43, 30, 21, 20, 10, 0, 0, 1314, 470, 780, 382, 278, 0, 333, 0, 0, 0, 50, 120, 'NULL', 0, 1, 0, 'LAST_HIT', 0, 0, 0, 'fighter', 'false');


Вот оно, полностью готовый sql запрос. Давайте выполним его, копируйте весь код в окошко «SQL» и нажимайте «Пошел». В случае если вы выполнили все правильно, то получите следующее сообщение «Добавлены ряды: 1»