Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius0 M1 D( @/ c( v; _* V4 K
$ j+ s/ Y Z1 H7 d
2 [2 W8 L' m2 BФайл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.& l0 p; N& ~& c# D
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
9 T* v9 D4 u4 ~7 r4 A; x8 JПример записи квеста в NewQuestData.xml:
: {; z$ ~! I; q5 I- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">( E; G) E% T- |( h5 F; w
- <locations>6 n- T# C: y( N, k0 Z) `
- <param name="startLocationId">1015</param>0 V9 Z7 H% y; d6 h6 Y
- <param name="endLocationId">1002</param>
. ~/ d. E, F& B( S* q - <param name="questLocationId">1020</param>
; \6 o* W2 H; Z; @) ~ - </locations>( j7 h. j) |% A8 W
- <conditions>
, G5 V: w/ X" v' J- Z - <param name="preQuestId">10019</param>2 o# C8 k# b$ P: k! C
- <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>
& F# G. ^0 @, L/ b: ~ - </conditions>& H" T0 t0 g8 a2 I- z2 Q
- <rewards>
' s* K8 b3 O2 C9 K - <items>7 ^* E3 F4 K1 a; U/ k) n# L% H/ u
- <item id="57" count="240000" />$ }0 I9 n5 t9 @ S% P7 l+ c
- </items>
( u% o. z6 a1 p - <param name="rewardLevel">76</param>; U0 I" P/ E( h! V G7 N
- <param name="rewardSp">84</param>
0 s0 X* U( S: `. J5 m1 y - </rewards>: S2 m1 w3 S0 n2 y
- <goals>
* i' L4 s: ]& t; b' O7 I+ G - <param name="goalCount">30</param>+ n% H2 d/ W& @
- <param name="goalString">Monsters on the Windy Hill</param>
, J2 @0 r9 W4 F+ Y* R - </goals>
5 u7 R- u9 \9 _1 V - </quest>( a' \( l( K" p0 P3 f0 `, ~
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:
3 z; ]$ E$ A& p5 s [4 b" G- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.9 k F2 s* f7 F# u7 i
2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:
: ~% h. P5 s- C! Q& e- B
8 N4 p+ L; f q6 N) P" s- R- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.
# y" w# ^6 b6 C( E 2.3. Тег <conditions>Этот блок определяет условия для начала квеста:
8 d+ C4 Q4 Q! B) o1 k! K9 x2 T- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.
) @; R9 a+ a0 l3 n6 x 2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:3 ?3 N" d- U( k# O$ {
- <items> — внутренняя секция с наградами в виде предметов.1 w1 s+ \/ d2 B6 _, z3 H" I# T. @1 k; q# K
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.
# a& _0 F1 e' f! U* s, C& t U
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.; y! }2 V4 H1 s& O& a0 K" x! j; D
2.5. Тег <goals>Этот блок определяет цели квеста: `8 G' o [$ t7 Q$ Y3 q( e
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
! l; q% x% K" a! o
3. Пример полного квеста7 ^( m" ]# u4 H7 l$ A1 Y
6 ~& L2 X( z9 q X: n& @Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:
1 U9 P; Q$ M! i8 ^- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
' \# u9 M, D: m* Z! a6 R& O% c - <locations>% G( w" E3 O) s
- <param name="startLocationId">1015</param>2 I/ f6 H( d) G5 j- b
- <param name="endLocationId">1015</param>
* M7 m' M; ^8 q4 |) O7 b - <param name="questLocationId">1020</param>0 d" \2 b( Y. @9 e4 o: Z& a
- </locations>. g3 W& _* Y( d+ G+ |# O
- <conditions>( q* Y( N l/ j( Y
- <param name="preQuestId">10099</param>0 o, I6 @. ^! J1 b) ?4 j+ p+ f
- <param name="classIds">1;2;3;4;5</param> i% Y* t4 R8 l7 Q( z( g3 O
- </conditions>+ \! |' m \1 K' q
- <rewards>8 R9 T+ }" {3 O! H: x# \
- <items>
( \/ g; a* Y4 U6 y - <item id="57" count="50000" />
7 U2 {6 `$ Q0 G$ q6 z - </items>
. F* }: g0 D, C5 L. N; ` - <param name="rewardLevel">50</param>( m. O$ W- ^( k5 c6 y
- <param name="rewardSp">1000</param>9 T( O) \8 u# c$ h+ U
- </rewards>, h% |) b5 Y# W& A
- <goals>
/ l) e% f0 w' c; u4 R$ E8 a - <param name="goalCount">10</param>
0 ~* T5 @2 _) q2 k% W - <param name="goalString">Demons in the cursed forest</param>
0 h: h! Y2 \8 ~6 D - </goals>
7 E( E+ A; s% P; y9 T; ? - </quest>6 \$ n: |. @, O5 e8 }8 ]! u
Скопировать код Здесь:% l% {( w9 n9 ?- ^: P
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.7 y/ w5 r. M) w' {1 z
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.
$ p, T4 T4 m6 W$ Q7 |* z
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере. @& d2 q1 v# `
/ _) U5 q1 `$ u& S& R+ }( v |