Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
" @2 ~4 S3 e6 }! a( b' l" K8 T5 ?; h( z
! _/ S6 |; T) O6 `- a# B9 q. _Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.
r8 U5 n ]. \/ D& r S; \ 1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.4 [ z3 Q" c* \+ Z& V
Пример записи квеста в NewQuestData.xml:9 ?0 _+ s* I3 n: d
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
4 P4 K' ?; P s8 q - <locations>
/ N1 B9 S$ G3 [ - <param name="startLocationId">1015</param>
8 Y0 b2 a7 S( H2 b- }4 a - <param name="endLocationId">1002</param>
- E7 R/ c! b2 z- [; S' T0 F: G - <param name="questLocationId">1020</param>
6 z3 S3 c5 y4 q- j B - </locations>
$ V) _# x" |" s6 J x( @ - <conditions>0 w1 v0 l: A8 g
- <param name="preQuestId">10019</param>
: o" I$ O/ {3 H' a3 a - <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>
+ A; M( z, `- R I8 W. i2 \6 v* I3 T - </conditions>5 f3 w5 r5 n- s4 _
- <rewards>
, |! ?* x* q2 q7 X5 @ - <items>
* x _2 o1 p3 h I - <item id="57" count="240000" />
% {: C3 |* \0 o6 \, M0 c$ x - </items>
0 ^) w# {; c# u: H - <param name="rewardLevel">76</param>
7 z# A R" A# b/ I - <param name="rewardSp">84</param>
: c. y" N" e" H6 p5 v3 M: Y" P - </rewards>
H8 r, T: k7 T, B, O - <goals>
( d# N) _9 `6 i! l6 m - <param name="goalCount">30</param>
$ _ h. E i! ^2 ] k& ` - <param name="goalString">Monsters on the Windy Hill</param>+ H0 ^( ?' k3 C8 M
- </goals>
9 _2 T4 e; N# C" Y U! g/ H - </quest>
) H6 j' x/ V V( i$ p
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:' \! b5 ?: F M* J5 d2 c
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания., g* _9 v# P$ g1 y( N5 C9 y9 w) ^
2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:- b# [, [1 o* d. \- z
3 N4 O: Z8 o+ d: a3 R
- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.
1 `4 s" o, \) U1 y/ a 2.3. Тег <conditions>Этот блок определяет условия для начала квеста:, o+ a8 A% U4 l+ v2 U. v* `
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.6 Y3 p0 V, J9 B; I# L/ J. s
2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста: b6 s6 W; G" I8 ~
- <items> — внутренняя секция с наградами в виде предметов.5 M1 y" g/ D& } X- d* o
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.
% E8 N" A5 c, w( I$ H/ f
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.
7 ]3 o4 M5 z2 ]; S. l4 |) R8 p 2.5. Тег <goals>Этот блок определяет цели квеста:+ d+ Z, _" s4 \- ]5 L2 C
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).0 h" r. T) M% p. b1 Z' A7 ~
3. Пример полного квеста
1 |% o2 V& k: G0 c `
1 P1 w% r3 F: K8 m" Y w$ JПредположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:* N: U3 m+ \8 [5 P6 u; A
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">( N* K# N& o; b* F
- <locations>
: j+ ]1 V0 K. _# Q - <param name="startLocationId">1015</param>
. H& h) A/ i' W, a' c& P: I0 S - <param name="endLocationId">1015</param>. u' A. u/ ], G; Z7 D1 ^
- <param name="questLocationId">1020</param>
1 Q3 Y3 a7 S& n1 [( T9 r; p - </locations>) b" I \' U" a/ @) \5 E
- <conditions>3 \" o7 n A4 @8 r
- <param name="preQuestId">10099</param>
; {! m8 j( C! g; M' ]% x) P - <param name="classIds">1;2;3;4;5</param>) @: v. V& O4 K) I
- </conditions>
/ O0 U6 C: ]; W$ e( L2 A2 q% x - <rewards>5 h2 b+ b- X6 `4 U
- <items>$ i+ X) D1 r* W# Z
- <item id="57" count="50000" />
+ P( T1 L9 O$ t/ o x$ J9 b+ M5 I - </items>$ }2 s' M# J. J; W& @$ p
- <param name="rewardLevel">50</param>1 a* I3 P% { x# u
- <param name="rewardSp">1000</param>' s5 ~/ T. b0 o0 R d. n; e
- </rewards>! K5 ]1 K0 V$ L6 b7 q
- <goals>* J4 Y9 g, ?* R% x: a2 @0 [6 b
- <param name="goalCount">10</param>5 K; @. |7 n% J# |! X! M
- <param name="goalString">Demons in the cursed forest</param>$ c, v. m% v' A" N5 D
- </goals>
% J8 E* `0 u3 W/ k4 b0 P( e2 \ - </quest>+ |( r1 o, O {2 I
Скопировать код Здесь:# O' o3 i) g+ v" \- X1 J5 N$ q5 }
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.( B- m! W" `3 V
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.
' l4 T4 u5 J$ r( K' ? v1 z
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.
) ^4 I1 d4 t; ^# l+ J
# d l0 [! T( m4 ? |