Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
2 v: `$ K1 ^: N: x
$ O2 Y: K7 a8 S( ]! y
# u( ~& W' P; O% } K2 j/ HФайл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.0 @" y z. e% }) e1 ~' a
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
5 ^7 I$ Z9 z: N) U" pПример записи квеста в NewQuestData.xml:' o# [/ `$ r" y6 W8 U4 e B d0 p) {
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
1 s: A- F5 I/ d3 _9 d$ ^; X - <locations>
1 Q0 \2 F2 B( J0 [& h - <param name="startLocationId">1015</param>
* m7 a' ?+ _8 b8 [8 _) ^! x4 T - <param name="endLocationId">1002</param>
& e; Z/ I; W1 [* [6 i - <param name="questLocationId">1020</param>! e8 Z6 N1 H& ^% a) o
- </locations>
( a i* ^1 O7 I9 d- x# ]/ |6 r) P& T - <conditions>
4 o# Z6 u7 q0 R& X - <param name="preQuestId">10019</param>' E5 _) I. V. f* z( 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>9 ~; D# J+ ^. J/ z( }# X
- </conditions>
7 k. G$ l2 V6 \1 v1 J& ~ - <rewards>
^! X2 p; d; V: R& ` - <items>8 i! _6 [/ K* }% |! ^' C
- <item id="57" count="240000" />
/ m2 v: r% w, H* l: k" g# ?! _ - </items>* Z8 q( g/ n" F. y0 K9 U
- <param name="rewardLevel">76</param># u1 K. z4 b) h) p" V- Y7 S
- <param name="rewardSp">84</param>+ b, C: r: r1 ]( B8 J1 d1 e( q
- </rewards>
6 J1 Z ?& l/ ]% a. ^ - <goals>3 X1 x {+ U1 U
- <param name="goalCount">30</param>
7 V4 H7 \: ^/ h1 L' X - <param name="goalString">Monsters on the Windy Hill</param>! S9 `0 P! [2 Q
- </goals>
' @; B3 X, r4 B - </quest>
) V% R: e. B$ y1 N, {
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:( e. S" F% S8 l$ v0 A: @0 D
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.
: Z# r. ?1 D, G 2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:" r4 `5 T$ @& A, l ?/ u
6 n+ \! M& Y6 e
- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.' z. z" y# g3 F' ^0 O( \$ c1 d8 A
2.3. Тег <conditions>Этот блок определяет условия для начала квеста:
; W: k6 Y5 }8 h8 e- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.+ H6 h C: k4 h( ]1 I, i
2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:8 q) i" t K, U9 G3 C6 H
- <items> — внутренняя секция с наградами в виде предметов.; r) V% N, ]+ {9 ]8 G0 ?9 y4 [
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.
1 b% K$ R7 e+ b
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.# i7 D2 ~( _/ e
2.5. Тег <goals>Этот блок определяет цели квеста:
6 U+ `( F+ n( d! a4 K- _- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).( k6 a: M2 {+ X
3. Пример полного квеста* \ q; O9 E q/ i& a& C5 z
6 \ g1 `0 { C! L0 B0 O7 yПредположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:: M2 k: v4 B4 t3 n
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
+ l6 s1 U! @# e) Q - <locations>7 M+ y4 ]6 C2 i
- <param name="startLocationId">1015</param>
! ?3 o3 j7 C7 B- C3 ]' k) u - <param name="endLocationId">1015</param>
( {8 }. J/ V. k0 i/ t - <param name="questLocationId">1020</param>
4 Y3 q/ D9 j- U1 p6 J - </locations>
. R: Z& B4 l- f. p' w5 z* S1 u - <conditions>
, d! {7 i/ e/ M: y. c - <param name="preQuestId">10099</param>7 w3 z! ^& o8 t7 Y; v* P
- <param name="classIds">1;2;3;4;5</param>6 r7 N6 w3 y6 _- h) h6 K& \$ ^
- </conditions>
# M t5 l% }; O* M" ~& d0 Q - <rewards>8 O2 u6 o' n4 a4 U2 m3 N! z) U+ q
- <items>1 ` y' r4 y, P v y
- <item id="57" count="50000" /> i- [& N9 V ~6 g8 B
- </items>8 M7 a) O, D. u0 I
- <param name="rewardLevel">50</param>
9 Z, n+ N1 D: @" c+ ~2 q - <param name="rewardSp">1000</param>
/ R6 H6 w% j% c0 h5 @ - </rewards>( u( b0 z, p3 V2 {8 s2 ^
- <goals>4 i1 O1 q. `) j, D9 d
- <param name="goalCount">10</param>0 u6 `5 S0 J8 y
- <param name="goalString">Demons in the cursed forest</param>$ U2 L/ v9 I; K: D5 @1 n
- </goals> z4 T. X2 |( l4 A1 R( ]
- </quest>
5 l( d- I6 b4 b2 {
Скопировать код Здесь:
9 @5 \+ m4 c: D4 E8 o* }- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.& q( X9 m0 C/ Z7 p3 j
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.6 D# t# d# F8 K2 s4 E" R" q( x/ h
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.! w( e( a, s8 a! L
1 W) E0 x7 a) C' e |