Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius! W* f7 J9 Z, u. u2 ]" F. }( \' z; ~
: |% N$ N5 V. B4 h& ? g+ ^/ q, g* a. E+ `7 K& f! z
Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.4 C+ ^! D U4 H; o6 V& ?$ L
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
$ h Y8 | F+ Y" {Пример записи квеста в NewQuestData.xml:% M: c1 r, j G
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">( K; ^7 x- s5 ]
- <locations>' _, M# U1 V, Q: P k: U
- <param name="startLocationId">1015</param>
. e3 r' m' |. _6 Y - <param name="endLocationId">1002</param>
: U$ R' G/ o, `3 M o( Z - <param name="questLocationId">1020</param>- i1 y5 y4 G& J3 p# @
- </locations>
# d! E; J% J5 b4 o - <conditions>) G) [, s7 f( b
- <param name="preQuestId">10019</param>5 p/ q( J9 C H
- <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>5 [6 v _- B+ X& R/ m4 m
- </conditions>
9 ]3 b6 w1 p g, P- ?1 I - <rewards>/ r/ r: e/ N% S; F# j( M
- <items>% u* f/ b! h0 X
- <item id="57" count="240000" />3 F# A5 m- P3 y. V' j
- </items>1 E4 U$ ^5 l; `# E5 C
- <param name="rewardLevel">76</param>
- r0 ^* R" ^( o - <param name="rewardSp">84</param>; R& J6 @8 y2 i( D& I
- </rewards>
0 T: B4 ^; _$ a+ r/ u8 I: e - <goals>
$ C) X+ v* d1 l2 B* |1 D# ? - <param name="goalCount">30</param>9 Z/ l( M- |+ t9 @! y9 W
- <param name="goalString">Monsters on the Windy Hill</param>
: P7 L( X) [7 p- z* t2 G$ \ - </goals>% }# d+ @+ L$ u7 S6 _- s8 g& i
- </quest># Z1 y7 u6 u# e' ~, t2 J* N4 g8 S
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:( k( U8 ~' ?% }9 a6 }' [; @! V
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.
, @+ K: C5 b* m* }' n 2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:
) W9 o! P9 t; \; ~3 Q0 f8 z
9 ~' ~- r D3 g, C& [* }# E7 V% B- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.8 q$ y- Z4 I' [ @2 z8 B3 k
2.3. Тег <conditions>Этот блок определяет условия для начала квеста:
* G& |) ~8 E0 \, n$ n- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.
2 ?& X" X# ]( ]) p( z2 M1 _6 D( } 2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:! X- ^8 _) A9 ~" t; n. P
- <items> — внутренняя секция с наградами в виде предметов.
. N4 I# k7 R9 A. h/ J B2 [. o8 p: o- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.8 h% V2 }% f9 U/ V9 W+ t
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.$ M- u2 i# w" Z7 S2 Y" \+ E
2.5. Тег <goals>Этот блок определяет цели квеста:5 {6 [& w/ V$ q a( v" C! p6 W
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
5 u5 V# b1 j3 m8 o H( Q
3. Пример полного квеста& S- P/ B' Y! _) b! K) Q1 V
7 P1 Z- Q2 W L% e) ^+ m8 C
Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:
& O9 @+ G# x% L3 i' J* |- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">0 I8 O2 Y1 i9 Y8 b' |
- <locations>
, M0 H5 Y9 r: ~) a' \ - <param name="startLocationId">1015</param>
+ b7 F1 y" N4 F3 f0 C - <param name="endLocationId">1015</param>* a5 z9 ?7 M: \0 d
- <param name="questLocationId">1020</param>
% s. z3 e7 w9 S( ?& C - </locations>6 N9 N9 z5 W `: r) a, C1 \
- <conditions>
" [. e+ J% e. r( E: y% \ - <param name="preQuestId">10099</param>! o8 `+ i. v' x
- <param name="classIds">1;2;3;4;5</param>
" R$ A* [( I4 R5 ~* v0 j - </conditions>: o/ S o8 i5 B. Q' M+ |8 D* F
- <rewards>
* _, i/ p( D. m" H6 s K ^ - <items>
/ W' @' T! q3 }5 e2 R7 {0 i - <item id="57" count="50000" />
3 B% u/ f$ d8 [! Y0 y X - </items>1 c3 s5 c$ I) _! {2 H
- <param name="rewardLevel">50</param>' h' p# Z5 O' ^( |8 M5 p7 V) o: W w
- <param name="rewardSp">1000</param>
* h7 w O0 l5 x - </rewards>
, j4 N+ G4 M- o( y8 A6 O | - <goals>$ ?# u5 C) P; {6 P' W! o
- <param name="goalCount">10</param>/ l8 c9 n/ ^% P* Q" J$ z
- <param name="goalString">Demons in the cursed forest</param>; V. W- U" h! _9 D
- </goals>
& e6 o$ H. c. k$ \ - </quest>2 `8 w6 I* A( F' y/ x
Скопировать код Здесь:
% g, s1 L6 t* S" l, \ T! y- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.) i$ Q1 B" E: U
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.* z' s; A# r# A. B" m, h6 b
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.
8 w& ?, B$ U) i/ P! ^' f
( k' \$ L, w e0 y" J* M |