Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
/ B0 }/ s* E1 c( q$ Z% b0 R" f9 G! e# A/ _4 Z+ ^
* ?3 f x A$ y: l4 b, L, h
Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.
# G, e6 z" m% Y7 _9 Z: [ 1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере. |: g0 l9 c" q$ l, W% h& M6 ]. w
Пример записи квеста в NewQuestData.xml:- d A3 P# f5 s
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">" T3 I; }4 H' j5 `9 i3 k1 ], `' I8 M
- <locations>
! j3 E' s, i7 R/ r* E9 ~ - <param name="startLocationId">1015</param>8 ]$ C' J: [" z+ @, _
- <param name="endLocationId">1002</param>9 l- D8 n, U; K* ?# K& K+ B
- <param name="questLocationId">1020</param>, u. t2 f' {% i0 P3 r
- </locations>
, S. o4 q0 H2 m* C# @! n' ~) E& J5 D - <conditions>
; S$ Q4 Y" _. H$ x8 Z7 K - <param name="preQuestId">10019</param>
0 R! o7 R4 [* ]: L+ j4 X - <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 G. B7 l5 r2 d# @$ p& `! ]0 P - </conditions>
& H& E* O( ^, }9 T. q7 E - <rewards>
" }5 g4 ^% j! P. H1 H - <items>% |$ v2 e/ `# `5 Y% p
- <item id="57" count="240000" />9 j/ m& G' v" b7 k5 d
- </items>, h5 y6 W* n0 @3 }% @/ B1 B
- <param name="rewardLevel">76</param>
# V8 l3 w, U6 P0 o - <param name="rewardSp">84</param>
# O! l9 Y4 {6 a9 o- X8 u - </rewards>
' Y* f4 c. U4 g1 {5 U* m - <goals>
- N# z. q# v3 D9 ?8 M1 E, ^ - <param name="goalCount">30</param>
/ [" d2 L# n( l! p7 Y( w( T - <param name="goalString">Monsters on the Windy Hill</param>* S c+ ?. X/ a5 f& T
- </goals>
; M( W n5 n, o3 j( O - </quest>
3 Q0 ` c- |1 p; E% ^# a s
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:
7 H' A3 b1 e. s, C3 b. y3 E+ \# f- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания. \0 d8 z$ b- Y# B$ S N
2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:
$ i8 I: \, [' X. {: e- m% J
! N! ]1 {' }' a2 H- Q% u- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.4 I& T, \. L5 X& K
2.3. Тег <conditions>Этот блок определяет условия для начала квеста:
V3 F( `, e% U1 C+ O- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.4 |/ F4 N% \1 a
2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:
1 J; ]9 M2 o0 o- <items> — внутренняя секция с наградами в виде предметов.( d- S8 d3 Y$ _( Y! |* k0 r+ @
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000., U! p. U; W' v5 P; _
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.3 N& i$ L. a# w
2.5. Тег <goals>Этот блок определяет цели квеста: Z( T+ l) H: d; j
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
3 I) G# {4 T8 ~3 u1 O' ~
3. Пример полного квеста
! { |) a: D, u/ p
, [* y5 W- d6 b O$ P- ^2 dПредположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:
3 N% }2 p+ z W; t, H- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">& o5 T6 s1 f% r' l
- <locations>% @# X' k3 d) k/ |$ m$ u
- <param name="startLocationId">1015</param>- p9 m& _0 O# U
- <param name="endLocationId">1015</param>
5 W; j' I5 [: I" X0 I) ]' ~ - <param name="questLocationId">1020</param>0 R. L. d! R1 r. R, G* G/ V
- </locations># ^6 }" ?; L* H2 p' V( t: |# T
- <conditions>% l5 j* Q7 Q. q+ g
- <param name="preQuestId">10099</param>
1 v/ M7 { H0 ]& X2 C4 r - <param name="classIds">1;2;3;4;5</param>" F7 s# r: ]- h! B" `" P! C' X! Y
- </conditions>
' [" Y; U+ a2 m9 P: L! t - <rewards>
+ Q0 }# u6 a% T - <items>$ A! x- J7 G0 M4 t, b% _
- <item id="57" count="50000" />& P7 h+ ]3 k# I$ C
- </items>
! [3 A/ L3 m0 d# ~. d: n - <param name="rewardLevel">50</param>9 z- p g5 d$ ]8 j- B
- <param name="rewardSp">1000</param>) u% {1 f1 l$ c6 _0 J E) ]% C" U( t
- </rewards>+ }" `9 b2 |9 A- W
- <goals>
9 {, p0 e8 b4 {! w- ] - <param name="goalCount">10</param>
4 r# \8 c% s P* S3 |$ c - <param name="goalString">Demons in the cursed forest</param>
9 N# E; l1 b+ z6 T0 i# r6 R - </goals>1 J o3 N/ W; k+ t& {
- </quest>
: h9 t0 ^! X( S* W N. O
Скопировать код Здесь:
! s% H8 B6 [2 r( }( A9 L- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.5 U" i, {+ s* t1 N- |& W) j o
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.+ C+ Z! U! _2 f* s+ I5 w1 v3 |
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.
. h- v# A+ H) q: l! H$ l& X9 g/ v4 `
|