Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius* A6 C3 A# V" z
: |1 a) V. k& F" i4 X
' a i! c& g' L" xФайл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.& Y4 C* H0 P' N8 `( i J
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
+ w! \. w8 g' \/ }3 y$ c1 d6 I4 QПример записи квеста в NewQuestData.xml:; Z7 S: A4 y6 ?
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">4 j1 T; G0 Z4 c# Z8 P$ J3 d) p
- <locations>: y* L# ?6 q/ j. q R2 X
- <param name="startLocationId">1015</param># v( s- o$ \/ o
- <param name="endLocationId">1002</param>" Q& {+ m% U8 [- p
- <param name="questLocationId">1020</param>5 ` L8 N S8 y9 a
- </locations>
w6 a$ m' e! j# n - <conditions>
6 B3 E% f! l! |/ S6 W0 J* a - <param name="preQuestId">10019</param>
( x% I$ h' z! b2 c- h! J- 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>6 n9 c0 Q& p+ F' u1 j
- </conditions>4 u1 c5 S1 S* E, \" A5 O& S
- <rewards># u. H* r* Y, E8 o: i$ r
- <items>- X' N( T8 U5 k5 n) Y6 G' A
- <item id="57" count="240000" />2 V, A9 v! z% y+ k2 J8 O$ M: ]
- </items>
6 b+ K5 E: o, A3 l5 _0 ^* } - <param name="rewardLevel">76</param>
% V2 _5 w; b# O8 n/ j7 j: T" a - <param name="rewardSp">84</param>
! h, x6 {% ~7 z- S. } - </rewards>& q4 x7 }7 \5 C/ U% v9 C; y
- <goals>) S: ~0 O* D6 I/ ]. K
- <param name="goalCount">30</param>8 m% Y. v1 b9 M' h9 {* P9 ^
- <param name="goalString">Monsters on the Windy Hill</param>" z" a8 [8 O3 @
- </goals>5 |. h" [# k: m$ U+ j8 f- R3 e1 r5 \
- </quest>. R) g+ Z! n7 W3 P& ~( Y; [( K
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:
- T% R3 K$ h$ j8 j/ G- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.! X. f" T( s5 A! I* Y, C
2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:
5 ] p" {7 D" K6 ^% t+ F1 d8 f" A& ?, k1 L0 V2 q1 w" S
- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.7 |8 C9 H7 O6 l' Y5 y* G
2.3. Тег <conditions>Этот блок определяет условия для начала квеста:
' z7 U4 e, g, F6 r" O* t- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.4 K$ K" P8 ]! ^( o, Y
2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:3 t% W2 A' |; M. C/ [
- <items> — внутренняя секция с наградами в виде предметов.
) C5 w7 P: u t# V r1 D% J- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.
) `: {+ E% k8 |, q% k8 m
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.
# H' t" N& R' P+ x/ W5 f 2.5. Тег <goals>Этот блок определяет цели квеста:( f" R4 X2 ]/ A
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории)./ e0 @; a0 U& F8 N9 a: m3 w
3. Пример полного квеста
5 ~/ |8 D0 R; g9 x' ^2 T5 E( Q4 T
' ^& L/ p* D) w8 e5 |6 KПредположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:+ O- _# p+ M/ `3 w+ @
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">$ T% A; ?" l, y. S
- <locations>
B: X( r+ t5 G I' U* n - <param name="startLocationId">1015</param>' T. Y( J6 M* H' G/ Q
- <param name="endLocationId">1015</param>
! ]) s& \3 k' b7 Q% _0 w% I, r2 b - <param name="questLocationId">1020</param>
) {* |; T0 E. b: p - </locations>% C2 y1 i. u2 o# H, m7 c
- <conditions>' y* s" m+ T6 Q9 O/ z) b
- <param name="preQuestId">10099</param>0 b( i) t' I }( I
- <param name="classIds">1;2;3;4;5</param>9 N0 x9 |$ y( o/ K
- </conditions>5 q7 ]( q5 v: f% n1 u' [
- <rewards>( P4 @$ o% j$ r; a# t( a
- <items>0 h5 U7 P) N. M
- <item id="57" count="50000" />5 p" q3 ~! f6 B" n7 A7 q
- </items>( @% h2 V" ?, q
- <param name="rewardLevel">50</param>
3 W3 j: {3 _2 C, }' C - <param name="rewardSp">1000</param>
- D1 g# v& M; r9 l* H! c) H+ P - </rewards>
" F8 ]1 H% a, o; n2 K - <goals>
9 A" k. l. h+ [" Z4 X# S# }& G - <param name="goalCount">10</param>4 y2 ]. s5 N3 }1 D7 f% ~# S
- <param name="goalString">Demons in the cursed forest</param>% X- T- y/ V4 {* O( l; q7 _
- </goals># r1 {+ u9 k9 Y! I
- </quest>
' n" ^2 I8 [' k: e
Скопировать код Здесь:
" B) J" }9 o+ b- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP., N2 Q6 l5 M9 d% b {
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно." S' J2 @* l- U0 O, U$ B8 G
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.
# Q H d6 }: w! I6 J4 Q- D$ c% {, D$ d: f1 r- \6 p( R, q
|