Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
$ G( i1 L1 e3 g/ t/ \
0 p) H1 `/ i! w, F
# R* x' O/ K) {) M6 D. y" OФайл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.6 a9 U, l6 v- i; X9 l& R( q5 b% i
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
& }, ^* [: o# h0 {, RПример записи квеста в NewQuestData.xml:
- a8 i, Y+ O" W+ a- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
$ ]6 i$ \+ q9 p' I6 ^ - <locations>
: w2 c* s$ j, Y8 F - <param name="startLocationId">1015</param>+ q) U2 V {1 y0 B4 ~5 ^' c
- <param name="endLocationId">1002</param>: Q1 k" m; \/ t8 k# D
- <param name="questLocationId">1020</param>3 D, L; b) X2 g0 w+ t ~( E* M7 i7 E
- </locations>3 s8 |3 U' f! T; j" p8 S
- <conditions>! N! `) G/ k3 f6 p
- <param name="preQuestId">10019</param>
6 D$ o* z2 x7 {& w - <param name="classIds">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</param>
4 ]# e' j; V% F w G$ M - </conditions>
7 a& S$ s( @- I& v4 r* a - <rewards>. C0 n# B# A7 u3 ^( H- O
- <items>1 j2 w" y3 r; [. v z2 K1 n0 O
- <item id="57" count="240000" />, K7 K8 u+ a0 k# v; w+ R3 e
- </items>5 {7 {% r5 V2 q# [
- <param name="rewardLevel">76</param>9 b7 |! B8 A P1 [8 \
- <param name="rewardSp">84</param>
7 D1 e4 E$ G7 o+ j8 d' w6 I - </rewards>
+ L; }8 [, r4 y# I9 ^& b - <goals>
2 W7 v8 |( F& O2 t. o9 D4 ^ - <param name="goalCount">30</param>
1 A* L [; E" r$ B - <param name="goalString">Monsters on the Windy Hill</param>* ^- ]8 m, t% u& Y
- </goals>
1 @7 [; Y/ y4 S - </quest>
: A, Q) r5 g. N I
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:
+ }5 v: Z- c. }: U* w6 _- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.
: c" }8 e! f" {) E7 b( ^; h* [5 w 2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:
9 }- A# p4 Y# c+ H) ?
6 l* ]5 @' `% b' i" C- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.* r: o4 L$ _9 ]
2.3. Тег <conditions>Этот блок определяет условия для начала квеста:
7 I5 C* q- u \' {, \- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.
7 s& O" i- G6 b) ^# k 2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:
Z- i7 m8 }4 X6 p$ P" W- <items> — внутренняя секция с наградами в виде предметов.1 j( H8 ~3 ?/ h7 m# e
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.
0 x: w1 c4 B: g) ^+ x! }; j
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.- R: @# s% o, C
2.5. Тег <goals>Этот блок определяет цели квеста:3 S1 y. M" l0 b9 u+ Y# L/ L
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
1 x) G& ~& ^" ?" ^
3. Пример полного квеста
* l+ }1 |. O" o, H0 L$ o/ f. @# c: X+ X7 U5 H, S3 G
Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:
7 `7 z: [5 s( Y X8 S, S- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
Z: G$ ^1 x! g: J - <locations>0 z+ [- ~- `% J/ U( l* W5 m4 P
- <param name="startLocationId">1015</param>- y% M9 \ o3 X& E2 e
- <param name="endLocationId">1015</param>, J ~9 K7 t3 L4 j3 A! R
- <param name="questLocationId">1020</param>; D. o3 K" n* c u7 Z2 B! J
- </locations>
6 F8 {! X$ x. X# Y0 Q2 D - <conditions>" N7 J; \2 C& i9 F' l
- <param name="preQuestId">10099</param>
% O+ M+ Y3 r' }& J1 M - <param name="classIds">1;2;3;4;5</param>, f: Y# J( K1 t
- </conditions>
& r& b( R2 B# t. E - <rewards>
+ @' a5 H) b, J# y$ z# j1 h! g - <items>- C7 X: ?) F, h# P2 l- c
- <item id="57" count="50000" />
6 t: H. C7 r# u: z( {+ \! p - </items>
2 v$ X" G: m4 M. ^" d - <param name="rewardLevel">50</param>; W5 n5 U4 e% z* g# Z
- <param name="rewardSp">1000</param>2 M4 K& v3 v1 Z7 F3 Q9 u
- </rewards>- {7 y5 r/ f" ~0 t7 q/ ^+ C5 q+ m* T
- <goals>4 l# }8 P$ ]9 W
- <param name="goalCount">10</param>
8 M3 Z- i$ K1 B4 w - <param name="goalString">Demons in the cursed forest</param>1 Z% m6 J! n) v U# o" d( W; l; Z/ O
- </goals>6 M1 n$ x7 z8 U
- </quest>
( g) s8 t' g( j7 I
Скопировать код Здесь:" C, L8 `! d9 |8 f
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP. n3 `; X' Z# ]2 [
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.
- h; t- h2 x$ ]3 K
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.2 q2 M' x1 p* q
. F( G) u, S' |
|