Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться  
 
x
 
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius; p5 A+ e3 F; G6 O  \ 
 
7 T3 b/ E7 V* i: l& R3 z6 K! D" a0 G7 D8 v 
Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.) M: X- I; X9 v5 f( P( g2 M2 @0 E# c 
 1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.& \6 F3 W+ c, N 
Пример записи квеста в NewQuestData.xml:& l. j4 I+ _* V) \( [ 
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">& R  t# e, o& f4 w( ?
 
 -         <locations>$ M1 [8 u+ w/ o  T
 
 -                 <param name="startLocationId">1015</param>, q8 n4 n# y9 V% M5 W6 E% [, i
 
 -                 <param name="endLocationId">1002</param>
 
8 {. T. @; Z& I) b7 i2 P3 m -                 <param name="questLocationId">1020</param>
 
: n, Y/ O8 a6 I: w& v -         </locations>0 a9 q1 H/ _% q8 ?' t
 
 -         <conditions>' N; _2 ?0 ?1 k3 q& c# R; A! U& z
 
 -                 <param name="preQuestId">10019</param>
 
$ _" H6 Q4 \) [: ]5 n3 S. G -                 <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>6 G7 P# g+ K1 l. _" _* M& f, f! @
 
 -         </conditions>) Q) g  d+ o. A
 
 -         <rewards>
 
% ~4 x# Q9 f+ g" G0 b -                 <items>
 
8 }) f, b7 g. p6 Y -                         <item id="57" count="240000" />
 
- e$ E% O1 ~4 N8 a# j7 n -                 </items>0 z8 t, q4 n* d' H* o2 S! r+ @
 
 -                 <param name="rewardLevel">76</param>
 
' Y) x- R. e; x2 T5 q -                 <param name="rewardSp">84</param>
 
1 `9 a; o; L" z -         </rewards>
 
# b( B$ A) O2 _. X+ d  \ -         <goals>
 
0 ^+ K' S7 C- J2 a& H7 z -                 <param name="goalCount">30</param>
 
, v* O5 m( a3 [ -                 <param name="goalString">Monsters on the Windy Hill</param>7 O( Z) b9 [% |% y/ \8 s
 
 -         </goals>
 
$ p  \7 U( A! `3 x# `7 J7 P - </quest>
 
" F" p5 [. G) Z5 O7 B 
  Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста: 
  _$ c) b/ E  V+ u. ]9 A* S- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
 - type — тип квеста, обычно это 1 для стандартных квестов.
 - name — название квеста, которое будет отображаться в игре.
 - startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
 - endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.- `* Q, ~' l7 J
 
  2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом: 
$ T) Q* ?. g* J; x8 g. W 
8 N) I! e! U5 O, u4 q8 j0 q- <param name="startLocationId"> — место, где игрок начинает квест.
 - <param name="endLocationId"> — место, где квест заканчивается.
 - <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.: N" S8 w* c2 w0 T: h1 d% g( Y* @
 
  2.3. Тег <conditions>Этот блок определяет условия для начала квеста:- H8 @- `8 n! f9 r! D  T1 r 
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
 - <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.3 ~* D0 i5 W; c' x5 H
 
  2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста: 
9 _) U# y8 b% s; @) t+ I2 |0 K- <items> — внутренняя секция с наградами в виде предметов.$ |2 Y) {0 {2 f" A
 
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.
 
3 L( J. g9 p, w7 D; b. F 
  - <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
 - <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.
 
/ N! C' P/ k7 l- k. Q  2.5. Тег <goals>Этот блок определяет цели квеста:1 A9 j. i1 l/ z' i 
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
 - <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
 
& j9 o  k. F/ |) g% J' _ 
  3. Пример полного квеста  B; ~  J! g5 N, q; p- k 
' j2 V1 R# D8 x$ A+ C% t: h" w 
Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:( e# J' a( v: l( q 
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">) b3 O' A. w. [
 
 -         <locations>- i" ^6 Y! `0 e1 V" J4 c
 
 -                 <param name="startLocationId">1015</param>
 
$ ?7 u1 H6 @3 v# D# ]5 ` -                 <param name="endLocationId">1015</param>& N+ G; a- l; t0 Z+ e# J, b" b
 
 -                 <param name="questLocationId">1020</param>
 
# b# B( _6 r& X! O% h& L" E -         </locations>7 l5 q. K0 f& N! |3 w+ h
 
 -         <conditions>
 
- ~0 p( H6 J: Y( f' n -                 <param name="preQuestId">10099</param>+ Y* _! @& l% X0 K; C
 
 -                 <param name="classIds">1;2;3;4;5</param>
 
$ W* H* q# }5 m -         </conditions>
 
  l3 Y7 W, [* @( w) l5 O4 v* R" N -         <rewards>
 
7 K3 S+ d! b# N) B9 B  S; F' v; v2 B -                 <items>" o( g% |: c0 i. D' J
 
 -                         <item id="57" count="50000" />$ z  N7 l5 r' s# [! `3 v
 
 -                 </items># J) [3 J+ y- i
 
 -                 <param name="rewardLevel">50</param>
 
. O9 C0 w6 F2 a1 A* D5 x8 U. | -                 <param name="rewardSp">1000</param>* s; |" k! v& G) v. C
 
 -         </rewards>* M6 n3 D6 y1 X
 
 -         <goals>+ `' n9 R% m  ^/ P6 O
 
 -                 <param name="goalCount">10</param>
 
/ O2 u8 U/ u0 g5 B: G -                 <param name="goalString">Demons in the cursed forest</param>0 j* D! b) s- h; r+ }
 
 -         </goals>+ `6 b8 N: d  V
 
 - </quest>% ]/ K& |, k, P& D* ]
 
 
  Скопировать код Здесь: 
  ?% m, l( o6 \) `( E% b- ID квеста: 10101.
 - Название квеста: "Demon Hunt".
 - Начальный и конечный NPC: Жрец с ID 34001.
 - Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
 - Условие начала: игрок должен завершить квест с ID 10099.
 - Цель: убить 10 демонов в заколдованном лесу.
 - Награда: 50 000 аден и 1000 SP.# V4 M$ u! X" C  i3 P* A
 
 
  4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
 - Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
 - Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.
 
/ H3 q5 @' N! K$ N 
  5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере. 
& U- V8 i/ d5 m$ e0 t2 L3 {2 y! I0 t 
4 C2 E* n. q( F |