Последний раз это сообщение было отредактировано Astraliya в 2024-10-20 11:24 * Q/ @& R* z" @! A4 F
, j& t2 g( g, [+ r% P
Файл NewQuestData-ru.dat является важным компонентом клиентской части Lineage 2, отвечающим за локализацию квестов, их отображение на русском языке, а также за их интеграцию с игровым процессом. Этот файл содержит информацию о квестах, такую как название, описание, цели, требования, награды и другие параметры, которые отображаются на клиенте игрока.2 ~. M& a) J4 x q3 r# `
Структура файла NewQuestData-ru.datКаждая запись в файле состоит из нескольких полей, каждое из которых содержит важную информацию о квесте.% [$ T7 K& x$ z$ E. A Y$ b* b
" d! r, w8 O, }4 x1 ~! @Пример записи:6 z" c/ `/ F( g% |
- newquestdata_begin quest_id=10020 quest_type=1 quest_name=[Попытка успокоить лес] quest_level={0;0} pre_quest={10019} class={2;3;5;6;8;9;12;13;14;16;17;20;21;23;24;27;28;30;33;34;36;37;40;41;43;46;48;51;52;55;57;127;128;129;130} quest_item=0 start_item=0 start_npc=33963 start_npc_loc=1015 end_npc=34505 end_npc_loc=1002 quest_loc=1020 goal_string=[Монстры на Холме Ветров ] goal_num=30 reward_level=76 reward_exp=0 reward_sp=84 reward_item={{57;240000}} newquestdata_end
5 P$ N, ~. ?3 C. z) p
Скопировать код Описание полей:
7 m" W, C5 A+ x- newquestdata_begin — начало записи о квесте.
- quest_id=10020 — уникальный идентификатор квеста. Каждый квест на сервере имеет свой уникальный ID, который связывает его с другими файлами, такими как серверные скрипты или другие файлы локализации.
- quest_type=1 — тип квеста. Обычно используется значение 1 для стандартных квестов. Другие значения могут обозначать особые типы квестов (например, ежедневные или специальные события).
- quest_name=[Попытка успокоить лес] — название квеста, которое будет отображаться в клиенте игрока. В данном случае это "Попытка успокоить лес".
- quest_level={0;0} — минимальный и максимальный уровни для взятия квеста. Здесь указаны значения {0;0}, что может означать, что ограничений по уровню нет.
- pre_quest={10019} — идентификатор предварительного квеста. Это значит, что перед началом этого квеста игрок должен завершить другой квест с ID 10019. Если поле пустое, значит, предварительные условия отсутствуют.
- class={2;3;5;6;8;9...} — список классов, которые могут принять квест. Здесь указаны ID классов персонажей, которым доступен этот квест.
- quest_item=0 — это поле указывает на предмет, необходимый для начала квеста. В данном случае значение 0 означает, что для начала квеста не требуется никаких предметов.
- start_item=0 — предмет, который игрок получает в начале квеста. Значение 0 указывает на отсутствие предметов.
- start_npc=33963 — ID NPC, у которого игрок начинает квест. В данном случае это NPC с ID 33963.
- start_npc_loc=1015 — локация NPC, где начинается квест. Этот ID соответствует определённой локации на карте.
- end_npc=34505 — ID NPC, у которого игрок завершает квест. Это персонаж, к которому игрок должен вернуться после выполнения всех задач.
- end_npc_loc=1002 — локация завершения квеста.
- quest_loc=1020 — основное место выполнения квеста. Это может быть область, где находятся монстры или объекты, с которыми взаимодействует игрок.
- goal_string=[Монстры на Холме Ветров] — цель квеста, отображаемая в клиенте. Это строка, объясняющая игроку, что нужно сделать. В данном случае это "Убить монстров на Холме Ветров".
- goal_num=30 — количество целей. Например, игрок должен убить 30 монстров.
- reward_level=76 — минимальный уровень, при котором игрок получит награду. В данном случае это 76 уровень.
- reward_exp=0 — количество опыта, которое игрок получит за выполнение квеста. Здесь указано 0, что значит, что опыта за этот квест нет.
- reward_sp=84 — количество SP (Skill Points), которые игрок получит за выполнение квеста.
- reward_item={{57;240000}} — награда в виде предмета. Здесь игрок получит 240 000 аден (ID 57).
- newquestdata_end — конец записи о квесте.6 r0 W& M+ l9 g& D1 m
. H8 J# H$ \0 p" z6 h6 A. R) _ x1 p( ^! ^8 H
Пример добавления нового квеста в NewQuestData-ru.dat3 h e4 K$ `' c% {' M
Допустим, вы хотите создать новый квест, в котором игрок должен убить 15 волков и получить 50 000 аден. Вот как может выглядеть запись для этого квеста:
; s" [& o9 d/ {( Z# r- newquestdata_begin quest_id=10101 quest_type=1 quest_name=[Охота на волков] quest_level={10;20} pre_quest={} class={1;2;3;4;5;6} quest_item=0 start_item=0 start_npc=34001 start_npc_loc=1010 end_npc=34001 end_npc_loc=1010 quest_loc=1020 goal_string=[Убить волков в лесу] goal_num=15 reward_level=10 reward_exp=0 reward_sp=100 reward_item={{57;50000}} newquestdata_end$ o9 z; H$ A B- f+ x2 M5 j
Скопировать код Пояснение:
! g1 I6 a/ {" }6 Z3 d- quest_id=10101 — уникальный ID нового квеста.
- quest_name=[Охота на волков] — название квеста "Охота на волков".
- quest_level={10;20} — игроки уровня от 10 до 20 могут принять этот квест.
- start_npc=34001 — NPC, у которого начинается квест.
- goal_string=[Убить волков в лесу] — цель квеста — убить волков.
- goal_num=15 — необходимо убить 15 волков.
- reward_item={{57;50000}} — награда за выполнение — 50 000 аден.
. t* i1 x; x; H) A* M6 a5 V
Заключение& N: O0 r& p7 u9 u% X% n* s
Файл NewQuestData-ru.dat — это основа для локализации и отображения квестов в Lineage 2. Он делает квесты понятными для игроков, определяя цели, NPC, награды и условия. Теперь, зная структуру этого файла, вы можете легко создавать свои собственные квесты, добавляя уникальные задания и награды на сервере.' Q2 v* B% I3 v2 d7 C
И небольшой совет напоследок: если при создании нового квеста ваш NPC решит не разговаривать с игроками, не паникуйте! Просто посмотрите в файл и убедитесь, что не забыли указать ID или случайно не сделали его слишком застенчивым. Ведь даже виртуальным героям иногда требуется хороший мотивационный толчок… в виде кода!
: A, f9 R U; e$ `- q; R7 @% g$ X! rТак что, если вдруг ваш квест отказывается работать, просто помните: всегда есть шанс, что NPC просто ушёл на перерыв, а не вы забыли запятую. ?8 W. B" L+ {9 A% n1 B2 o2 {
5 U4 x" l+ [ g. p* g4 GФайл для правки декомпилированного NewQuestData-ru.dat9 G0 i3 e& d* c
9 B, z% ] ]- tСкачать Exel таблицу для редоктирования dat:
- }* b5 a( b c3 r( j, i5 ~& w7 @% S- h. i
1 N m/ h' o$ ]5 V
1 R- N3 E1 C, w' l# i 5 [: k. y2 L! ]- d/ t8 O% p3 d' |
4 N, l: G$ ^9 o
, V% ~) C* D( ^: M
3 K3 \ H) R4 m3 r6 s0 ?, _' _+ F9 d1 _5 o3 s% D) m
* l1 r, |1 f3 Y% L& A$ M
|
|