Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius8 h$ ~0 }9 }2 j5 T. P% e4 ?7 B
% v# e6 h6 d. f
+ A! X: |$ K6 A1 E; U
Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.
6 ?( v4 o3 D' y% a* q; O 1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
2 J- ~# L% V U" i; F( Z( qПример записи квеста в NewQuestData.xml:
0 k2 l/ O: k: o4 N- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
8 l4 q5 Z" O1 \& i - <locations>; C% N0 _; T( R }) S: f; o1 \
- <param name="startLocationId">1015</param>6 M) T+ |! ^. m" z0 L# H X" d0 w) f
- <param name="endLocationId">1002</param>
) q5 ?( |$ E8 n - <param name="questLocationId">1020</param>
N; e! Q9 D: A - </locations>
, P, j+ M" g5 F/ L - <conditions>) A4 S& B8 R/ n
- <param name="preQuestId">10019</param>
* Q8 P6 H. q1 v2 I; d1 D# e - <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>
% F/ o3 p3 x+ E - </conditions>4 ]/ n, g5 _& N, N' g% `% D% @
- <rewards>
9 a2 n" U4 b, S# v, G - <items>- |- e; L4 n) c+ V( Z$ U8 V
- <item id="57" count="240000" />
0 b, U8 M# ~1 q0 ~9 B2 u5 F( X - </items>
' m+ `/ m k! Y4 a, S - <param name="rewardLevel">76</param>
9 w+ i0 i/ w! a' b - <param name="rewardSp">84</param>9 L& f( Y3 B* C3 Q3 T% e7 @9 P; h
- </rewards>
4 {3 M2 Y' Y- x8 q) j1 O- O7 O9 z# m - <goals>/ R/ [4 R. c! e9 w% t; D; Z R
- <param name="goalCount">30</param>8 N1 z4 B1 Z* S! i4 P
- <param name="goalString">Monsters on the Windy Hill</param>
/ E' H C' c: F6 P9 ? - </goals>
$ j& Y: K! v. n7 z# [# J! O* @, l - </quest>
8 M0 ?8 {8 J! Y" k, g
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:5 I+ L @- ~+ [8 d
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.
/ Z( e+ ^5 L' [* V4 S 2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:
: ]( |1 D$ T: _2 |. X3 {0 \, O9 S" u" W. F" ^! U! s. c
- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу. i$ L9 H/ f7 i! E
2.3. Тег <conditions>Этот блок определяет условия для начала квеста:
2 [! m( R5 m5 B/ u. V$ J- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.
4 d* X+ B3 t( I0 Z; W" T2 W 2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:
* h$ Q- v3 J4 {) K* B- }4 y; ^ _, p- [- <items> — внутренняя секция с наградами в виде предметов.
# t; @$ h0 L: Z; N- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.; C( {8 ]& v. y1 ]8 H
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста., t5 ~; e u; e- o! O* o
2.5. Тег <goals>Этот блок определяет цели квеста:4 j# a2 v0 v8 d9 N% ~
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
' z9 Y2 i% ~5 l4 y
3. Пример полного квеста( G# R- t# w+ X- c n0 t
+ q1 P' [6 l0 S) g! |Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:- q; Z. T6 [4 R y: d
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">- {+ ]2 D' z) b- M9 X# b
- <locations>0 E! R( U& W) |0 g$ o
- <param name="startLocationId">1015</param>
, p2 b$ {: i$ J* }: u - <param name="endLocationId">1015</param>
" A# F: [- T% @7 U7 X. ^ - <param name="questLocationId">1020</param>' y+ n) _4 f+ V1 ^3 N% Z3 Z
- </locations>
9 Y: f8 Q7 Q( [+ ^ - <conditions>3 z. m2 Z) l: n0 J
- <param name="preQuestId">10099</param>
. O* S1 z9 j/ \ - <param name="classIds">1;2;3;4;5</param>9 d' W* z; F& P4 `1 a* P
- </conditions>
* D1 j; G, K% t: S5 x - <rewards>' k8 H% B% V, d7 u2 I$ ? w! h( {
- <items>4 m, l& j0 m |2 v' \& z- V
- <item id="57" count="50000" />* r# L/ g2 k2 n/ H' j) j
- </items>% }& Z) U4 `5 ^( g
- <param name="rewardLevel">50</param>+ j f" U9 K1 A. L; [4 b
- <param name="rewardSp">1000</param>7 q' a* \# D" H: V V0 v
- </rewards>" R- L& J5 I8 ?: \0 `
- <goals>8 c' C# ~) D8 y" F0 A, z
- <param name="goalCount">10</param>
& u/ S \* A. Q( S" t - <param name="goalString">Demons in the cursed forest</param>9 v2 W1 q3 a s1 O9 D
- </goals>) v1 T$ F2 B/ i% e K
- </quest>7 G* H5 E( t5 z H! X3 U
Скопировать код Здесь:4 V% }6 V! d- f/ I& m; d9 K
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
/ I& j7 T3 v) b% A9 [
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.3 E9 Y4 r) B: v9 N# }
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.
1 N4 L4 u' @. r: w5 J
9 ^+ ~: b R2 A( @3 B6 J |