Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
% \+ u1 \3 [# L" E4 x5 [7 f' Z
! s1 j0 ^0 b4 C# c; a) e. g
( R$ X" Z \7 r9 A5 wФайл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.9 p; K) }$ J- V$ c* y; t) X/ J
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
. y, Q7 p/ E6 L9 `Пример записи квеста в NewQuestData.xml:
: @* |+ c6 J+ C ?7 d- w- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
+ L1 g. i& K/ a/ r; o7 G2 x - <locations># a) S/ G0 l6 G/ s% X j
- <param name="startLocationId">1015</param>+ N/ q" u _2 K) i( i2 g
- <param name="endLocationId">1002</param>! N( i: x- B5 Y: f" w; P
- <param name="questLocationId">1020</param>
6 B9 ]% T4 g& G$ d - </locations>2 V7 C, \# k- }$ a
- <conditions>
' ]2 D! s4 E i" i" t) U* v - <param name="preQuestId">10019</param>. V$ R8 \# I9 f: A
- <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>
9 N' g1 @: Y# E( q3 }# V$ B4 R - </conditions>
: A) _5 I7 W* w8 S& y - <rewards>9 M$ h: P9 r1 k4 ]) t# V
- <items>
9 q. H5 Y, y& V @1 n/ E o# z - <item id="57" count="240000" />
8 T" T/ ^% W$ r( y$ |8 \ - </items>3 Y( \9 T9 L1 f- [$ v, E1 F7 n
- <param name="rewardLevel">76</param>' J- Q# j8 H9 y A" T$ w3 O
- <param name="rewardSp">84</param>2 w @& a0 V/ z- \) W
- </rewards>
! @& }' \) Z: o! I" h& g' u - <goals>$ V3 O! {% c# M, X! ~+ _# y
- <param name="goalCount">30</param>6 t o C# U, c/ C
- <param name="goalString">Monsters on the Windy Hill</param>+ m4 f4 |' k; C: R Q$ ~# U: ?% T5 S
- </goals>7 y5 r& \2 T0 G: n" j' a; V
- </quest>
) g% z8 }. k) q/ i& L; R9 D
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:1 R8 ~7 ^ S. d! o7 ~. K9 t6 d# x
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.4 q' }2 m1 y0 h0 H6 n" Q
2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:, Q/ V: z0 T3 \8 F0 N' `
0 C! B& ~3 ]3 `3 N& }8 [- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.
3 X+ n1 x* R* v4 q 2.3. Тег <conditions>Этот блок определяет условия для начала квеста:
; M# ]' Z+ g& Y* h2 {6 A- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.
) Q$ J1 \. y, i" s, ` 2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:0 F3 r$ ?: N' r o3 n7 S/ `
- <items> — внутренняя секция с наградами в виде предметов.
; Q/ a5 D3 q1 B; p# D- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.2 I1 O, g" D; ^ E; S4 u$ K/ \" A
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.
2 D- \0 g/ S$ L$ R/ e$ U6 ^ 2.5. Тег <goals>Этот блок определяет цели квеста:" R0 |) ]" ^5 N1 [- r/ g
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
6 J5 o; c4 q/ P. q. G `
3. Пример полного квеста* G3 l9 v0 I( M6 }+ J3 ^% m
' S* t# e$ b6 Z: f6 x6 N
Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:3 Y6 b7 O9 T5 V: g. Z3 x6 D3 l
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
" [ J* Y$ w- Y - <locations>( V' ~8 [: @4 D" l L" I
- <param name="startLocationId">1015</param>
& z4 ~: b) V# X; T' X L$ H - <param name="endLocationId">1015</param>
# H4 p' e# Z+ K' H - <param name="questLocationId">1020</param>
8 s6 E( a, L! w3 a' D - </locations>
0 _9 G/ }! W% L. [ ^/ T - <conditions>
$ |: }' w {- E4 _" w5 A7 E& z - <param name="preQuestId">10099</param>( X: o8 T0 }! a* P. f
- <param name="classIds">1;2;3;4;5</param>
# L$ D5 d3 p2 a% C - </conditions>
$ n9 }0 [6 Q- `) [- R* ? - <rewards># T+ P2 d8 i( g u) Z
- <items>9 W) e4 W6 V) J' z; b1 i& {2 F
- <item id="57" count="50000" />
! r+ o5 q, w" I5 }) y - </items>
8 {7 ]# F& |1 M' l - <param name="rewardLevel">50</param>
/ L- p( i+ L+ q( s( H0 \& J - <param name="rewardSp">1000</param>8 w& r8 ^ j/ k+ q4 _1 K
- </rewards>9 n5 y& g+ R0 `8 D$ _! D/ C D
- <goals>2 B: I2 [. Q' D# d9 s7 T- X
- <param name="goalCount">10</param>+ V- P v T- `; }
- <param name="goalString">Demons in the cursed forest</param>' _4 E7 c6 n+ ]% p& m8 j
- </goals>
0 n$ F) f" @) O0 e - </quest>
' u- o8 D# w" g
Скопировать код Здесь:
* c- g$ F/ ^3 I k* J2 k2 W5 y, e- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.5 @: Q! z% o0 B, W* l
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно. _) f! ~+ I) p- F l8 V
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.1 R6 u+ A4 j6 }
$ J2 C- m, `7 l9 M9 v* p% p0 \
|