Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius0 y( E* S0 c' {% s3 Y1 X! Q
/ L! X- y( O& U$ ]
$ E: Z8 T- t- A$ y( KФайл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.
( `4 n; ]* p9 Y) f3 b 1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
) d. ?! o7 X1 G; c4 TПример записи квеста в NewQuestData.xml:
2 V' I8 t& [$ c7 ?- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
/ g/ v+ F* Y6 j4 c - <locations>
' Y) b6 u' P! m6 M Y - <param name="startLocationId">1015</param>
4 ?; O7 H9 c, \7 r; s" A7 S+ I - <param name="endLocationId">1002</param>
6 I0 \# D( J \) w' V6 _ - <param name="questLocationId">1020</param>
+ ?+ J- H/ S5 f+ S% a - </locations># o7 p- } @9 z
- <conditions>& A( \# R8 m: L. W+ e
- <param name="preQuestId">10019</param>5 A) x* F+ H2 P* I
- <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>
/ y: y0 V, T9 D) ?) ], \ - </conditions>, X/ g- S, _2 [6 B, {. Z
- <rewards>
! E% c- u0 F! s O* E' t - <items>
. q* X% } H/ W: ?% X# F' K: h. n - <item id="57" count="240000" />- ]3 l: i# m6 j D" R! w1 H# \; M
- </items>5 a0 O0 J% D( t0 t- j
- <param name="rewardLevel">76</param>
$ W& |; ? o; E) o ?0 a7 ~ - <param name="rewardSp">84</param>
0 }1 X0 K# y. W7 } - </rewards>( z' g/ K; K% g' N, k
- <goals>
0 \+ U4 Q \ A* R- A, D D Y8 ` - <param name="goalCount">30</param>
5 L* r+ p0 p P2 m2 i! ?6 T. f - <param name="goalString">Monsters on the Windy Hill</param>
0 }, s2 q; t- n1 R - </goals>
, Q/ C2 e( P( G$ ~3 i - </quest>
! m, d! g6 V8 }0 S; t- W
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:, u& s7 b- \( J4 z0 |0 V
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.
1 g2 Y: b% O8 F( G, m+ Z% p0 @- p 2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:" |% T+ |) \- j! f) E0 X# {7 Z
1 g/ X& ?. H8 J+ c
- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.2 J. C( T' T2 j0 k% _' _
2.3. Тег <conditions>Этот блок определяет условия для начала квеста:0 g; h' x" ^6 _, F
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.) a6 F# b6 b6 A3 ?% c# R9 p
2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:
' f, ~" Z* N0 D. T% B3 k- <items> — внутренняя секция с наградами в виде предметов.
, X, _1 N- g7 y" l& S/ x% L4 R2 f+ [- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.
7 B O- H# ?* y6 s w" r
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.
0 `5 @0 S7 y. U" [; c 2.5. Тег <goals>Этот блок определяет цели квеста:
9 b" l; K" \, Z0 @9 B9 `! _- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
* i N" Q; @$ f
3. Пример полного квеста
6 s9 Q8 c, K# j' R7 w& x1 ^& @2 O& `
^( }' U8 H% Z) U& s& R4 d" nПредположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:7 y* L4 C7 a3 \2 m
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">$ l4 K( m+ E" `1 q' _
- <locations>
8 k7 T. K5 J2 T7 t% \# j - <param name="startLocationId">1015</param>% v) e: t4 w6 a7 P
- <param name="endLocationId">1015</param>
/ \+ ]" N! p2 ~1 k - <param name="questLocationId">1020</param>
+ s4 `4 I0 [ t1 |+ ^ - </locations>) B$ l) G6 Y* U. B; y8 F* g
- <conditions>
. i4 E" J0 x- C, f2 S3 M" e - <param name="preQuestId">10099</param>& B* X8 e- P( f) R' A% ?
- <param name="classIds">1;2;3;4;5</param>8 `7 F: `6 @( `# h5 U) ^
- </conditions>
2 y8 V* j* h. f" e" Y! n: Z - <rewards>
6 G: L1 E+ x( R - <items>, Y" H+ o* a& b* ^: R( ?. s% Q, ~
- <item id="57" count="50000" />" ], B* ~% t( q# s( t
- </items>3 E4 E' F, X, J; _1 O9 r1 P
- <param name="rewardLevel">50</param>9 l' ?( C v. K/ m/ b
- <param name="rewardSp">1000</param>
: ?, `) J C! i- N - </rewards>6 @4 k P0 A% q! M
- <goals>: c8 Z/ n" b7 l3 e" P* u8 w) f4 O
- <param name="goalCount">10</param>/ Q3 p4 S# R) Q7 m
- <param name="goalString">Demons in the cursed forest</param>* z2 |" e7 h! ?8 u- T3 n+ _9 z
- </goals>
- F" Q# n8 t+ `+ ` - </quest>+ e( |9 e, W- K% D7 D9 _0 V% Z0 D
Скопировать код Здесь:. d' x" y' U# m/ ?
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.2 Y; A6 v) c, L( K. Z2 l7 @
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.
N1 e2 [) s, E) v/ ?# _
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.
" y2 v" f' f+ a: F$ A" R/ z+ g( W9 [: I7 B6 U
|