Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius: W+ w8 d9 S' O' F+ ^6 C
( B" M* q$ n) o! f" X
1 M5 J7 @, u0 n$ {" q' Z1 P6 Z4 } X
Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.+ C( M. v0 ]2 s5 ?5 F% a$ u
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
6 ?' @# F/ T) |2 `6 qПример записи квеста в NewQuestData.xml:
+ k4 T3 t+ ?* s- W5 N1 S$ K- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
- ]5 Q! l$ e5 z2 C: n% W9 l - <locations>
4 C* [8 }: K: ^% l" ]. Z3 D3 d- q - <param name="startLocationId">1015</param> R- a* j! ?0 Y
- <param name="endLocationId">1002</param>
4 \4 u4 E) y- T8 D, c - <param name="questLocationId">1020</param>1 P4 _7 }1 R3 x4 o6 E; L* C1 ~ ~
- </locations>" K5 _) e& c( |: d: [
- <conditions># i. ] z7 I/ f5 O2 A" ?
- <param name="preQuestId">10019</param>& j) `. l: q0 J! O% J- W7 I: s
- <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>" }, b# M L5 ^! h/ Y) P
- </conditions>
0 ^2 i: C, v: b, D6 r - <rewards>
# G! v# r+ g) f: w: B e - <items>
: q( c* \& l) h9 [ - <item id="57" count="240000" />* V- d$ }. S* l4 e; y
- </items>
5 x# b- ?4 H) ~5 i - <param name="rewardLevel">76</param>1 T) \" _4 N. m+ ~3 C
- <param name="rewardSp">84</param>) W6 `, ^8 s, Q0 S3 }
- </rewards>
" h9 g+ N2 }" H; D - <goals>
2 V/ E( g6 [+ `; h0 P* [' T* H - <param name="goalCount">30</param>, S6 r/ c& \0 } ~, h
- <param name="goalString">Monsters on the Windy Hill</param>
# U; J3 ?+ E0 K- j - </goals>0 [+ a& C4 p" t3 N5 B. @" r
- </quest>6 W2 c8 C4 Y7 c
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:
, Z/ {, b$ l$ ~- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.
4 o; @9 W8 S8 L, h; b9 T- g% ^7 w 2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:: p& F0 v) R: E* a4 J& }+ t
/ {! G% e8 z9 ~$ ]- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.
9 {9 m9 g% D4 f$ U/ A4 f 2.3. Тег <conditions>Этот блок определяет условия для начала квеста:) d2 B9 F# m l& n: ~7 A6 j
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.
/ F* }; g; J1 C: f7 s2 | 2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:# u" l; ]4 }% F. i) K+ |6 B
- <items> — внутренняя секция с наградами в виде предметов.
% Z0 w( [. k2 r* F7 H7 W- r) z- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000., t }4 m7 T6 S$ A6 o# x* z' O
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.' \( `- S6 N! G5 s- P+ _8 E
2.5. Тег <goals>Этот блок определяет цели квеста:
6 J( w; n1 {. n2 i- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
; M& ~. q1 E0 O1 _
3. Пример полного квеста
& F7 ^# \2 V( R \
: E, X2 _$ m6 nПредположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:
! G0 F1 @1 P% G5 N0 R% P- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">) N0 f0 ]1 r3 ?0 L9 r
- <locations>. e7 w2 T% T2 F: F
- <param name="startLocationId">1015</param>1 H" x% w, A4 B7 n
- <param name="endLocationId">1015</param>
$ p- {$ {/ _) f: l! s p - <param name="questLocationId">1020</param> g4 A1 }7 Z1 z
- </locations>
2 E) Q( c7 a- H; x3 p7 E% I - <conditions>
, E: Q0 w3 k$ j* P/ D! ]% ]/ D# m. S - <param name="preQuestId">10099</param>. l' n+ ]4 y( K% A0 {8 P. x
- <param name="classIds">1;2;3;4;5</param>( ~1 [6 \* \; n2 z4 z P. v( z! Y- @
- </conditions>& [. m ~: _2 V+ o( ?
- <rewards>
$ [5 O% e* Y% r) W! N: p - <items>3 {8 @4 M% v! C& H, h: ]
- <item id="57" count="50000" />& V7 L# J' q: l6 [
- </items>
) h1 Q/ E# Z# J) f# k$ x) q - <param name="rewardLevel">50</param>% k2 Z) n% V* N0 ^9 m. V& J, s
- <param name="rewardSp">1000</param>3 I. `( ~0 U7 b+ B. D' ^# z
- </rewards>
7 S; F. e1 s8 W3 M; e" x - <goals>
* S5 R& ]. {' P; s8 K0 l - <param name="goalCount">10</param>7 `1 A) X& s1 l3 b M8 \ J
- <param name="goalString">Demons in the cursed forest</param>! _+ a0 z3 j4 ^1 X$ e+ d# T3 R1 X
- </goals>) N1 W( v* ^1 I
- </quest>
# H; K* T' m1 Q9 f; h9 h+ q
Скопировать код Здесь:
6 J( _. q+ `- n$ o2 e* M- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.3 V2 D) q/ b/ C( j' O, C0 e) P3 Q
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно." g9 a% I# s- K& N9 ]
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.
& J$ }1 _& ?. N' `8 n2 a, j
' V8 X! [) O1 K |