Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius- Z& H/ M$ k" F6 T7 o
$ `) W: A d! F
( Y; |. A. T3 A! [Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.
/ M* l) @' ^3 j" s) P& s5 W1 G 1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
/ V& o" l1 E, \! D% C: ?5 F ZПример записи квеста в NewQuestData.xml:/ i' u" A; f. t! G9 y0 c
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
# r3 o# a3 c! l5 u - <locations>" @3 g8 V( B/ O7 b. k
- <param name="startLocationId">1015</param>
/ C4 ^' W! b9 V - <param name="endLocationId">1002</param>. Z9 t6 D% g% D/ @
- <param name="questLocationId">1020</param>4 \! W8 z; n3 C0 {
- </locations>% o; F* Y3 K- W6 J
- <conditions>8 U* k G% m6 N2 a# J; @
- <param name="preQuestId">10019</param>+ `4 \5 }0 m v
- <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>+ `! X& B* d# O P* C) ?4 k& A
- </conditions>* v/ u [6 Z5 O) r& O: w" x) j2 A
- <rewards>
: m# b$ L) h7 C2 Q7 d - <items>
# D6 H; ]$ c& T3 Z, t) } - <item id="57" count="240000" />
9 X9 P; f' V6 ?7 Z+ s - </items>
: R9 Z! Y8 v0 h: j5 _4 W - <param name="rewardLevel">76</param>
: P) {: W6 w) ]/ m# P! f8 g. Q |" ~ - <param name="rewardSp">84</param>
' ?8 }& b9 L- f; B - </rewards>
: N5 c& q6 D: ^, p - <goals>
8 S6 I( R F& L# r - <param name="goalCount">30</param>* \% w! s% j) _$ r/ g& W% {& t3 _: @
- <param name="goalString">Monsters on the Windy Hill</param>% Y2 c2 p6 W6 p S! X
- </goals>
" d8 G( C3 z* b/ G7 u - </quest>5 j) |! R0 V ~! p
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста: g. i2 h" M% l. V
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.; B6 Q' A; a* n' v3 A
2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:
- _8 X- h* P. V: m. \' o! T/ i& i3 B
- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.
9 I4 Z; L: I0 w6 h7 c" E# [ 2.3. Тег <conditions>Этот блок определяет условия для начала квеста:3 o3 U! D: V$ k5 Z7 r! ^! x
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.
: J, v" b2 T$ V. Y7 {+ i& x 2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:5 H. a( J: Z; j. s. Z s) y
- <items> — внутренняя секция с наградами в виде предметов.6 I J5 i+ h& Q' c7 P9 S
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.* U+ x# i+ w0 j( D3 O$ ~
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.# B/ [/ }$ G; m! `6 }$ j
2.5. Тег <goals>Этот блок определяет цели квеста:4 h' }% A# n9 k) f" ] `, E
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).. k8 I- ]: p: ^* g* c$ i) f+ p
3. Пример полного квеста$ K8 F8 Q F5 h3 d
5 i( O R: J; A; oПредположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:
* K) @' O( K- j: h' O Z- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
* f& A9 ~% c% l9 q - <locations>9 h8 _3 W. T# x* ?. G1 |4 @
- <param name="startLocationId">1015</param>
- O" Q) ~* {/ R8 J1 O+ ]$ z2 c - <param name="endLocationId">1015</param>- n) G: N9 f: M+ P+ O- T
- <param name="questLocationId">1020</param>3 E$ r6 e' F" g% L7 D) M' ?* l
- </locations>, ]! j1 a* F+ ]/ k* O3 [$ ^
- <conditions>" }1 N" x/ f' Q5 r/ e) ]0 r3 j
- <param name="preQuestId">10099</param>
3 N1 p Z. S) L) \ - <param name="classIds">1;2;3;4;5</param>
+ N9 d6 j: t& C - </conditions>6 B* x0 `+ Y1 i2 _, _3 B0 _
- <rewards>% Q* {# U, z# t( j
- <items>
/ r- y* G6 w P% ~: a: j# e+ P - <item id="57" count="50000" />' H$ k5 g! V& l- O7 W0 H+ g
- </items>3 x9 z+ _% J2 M, |, P
- <param name="rewardLevel">50</param>
; q% h; e1 B# |7 v' c - <param name="rewardSp">1000</param>
- p: m6 y7 j) U: Y" a - </rewards>+ E4 O% T. E& r( W2 H1 e* m' U" j
- <goals>
& U+ |& V2 f' a - <param name="goalCount">10</param>0 T, y8 a5 C/ u0 d( G5 s
- <param name="goalString">Demons in the cursed forest</param>
8 h$ {% }) D8 l1 f2 A - </goals>& d$ V) u) z. n! r D' k4 G# h% R
- </quest>! a' n4 a- _- G# u c+ m3 k
Скопировать код Здесь:! t- q. ^8 I1 V( E+ `9 s1 a1 g" Z
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
9 W# X1 K! G. N) i) O8 j: _* R
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.
" Z2 m3 Z5 H% q+ G6 e5 r3 F
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.
4 `( ]6 O4 G' I$ f
, m4 A% _! G8 E( E6 o; e9 b0 x g" } |