Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
5 _% g; Q u9 x. O! [+ A' \- t) I
) C! ?" W" y- t1 s
- d2 ~5 L6 G `! j6 e) ZФайл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.* \# R; y8 h5 _9 I: I* Q
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
9 k4 d, Y. B) B! O$ ^; P2 C, [Пример записи квеста в NewQuestData.xml:: S: V; R& ]5 |* e/ N2 x& L
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">1 H. M6 R1 B0 g! r1 R2 }
- <locations>
) i% e' g% |9 q4 B6 h0 ^ - <param name="startLocationId">1015</param>' o5 ?) C" K( M" m" U8 A
- <param name="endLocationId">1002</param>5 X" `, s: p% P7 P
- <param name="questLocationId">1020</param>
7 T. r5 l" o; o w - </locations>
4 O% b1 [' ~. J1 j' z! a - <conditions>/ ~8 N# B* D8 q- p$ _; f5 Z u$ _
- <param name="preQuestId">10019</param>
% O, Y9 H: } o* m7 X- 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>
v% F* v6 l. X( V* J, k - </conditions>" {( S) i3 q/ a% ?' D5 M8 Q
- <rewards>
( Q( E a L7 R - <items>
. ]0 O# [* D5 f - <item id="57" count="240000" />
' i7 N, N$ K; R - </items>
. X5 \, H5 p0 Y g - <param name="rewardLevel">76</param>' n3 ]% G6 T8 d6 I
- <param name="rewardSp">84</param># `4 u; }0 p; c8 C1 c
- </rewards>9 l8 h9 l0 y1 \
- <goals>
: l/ b) i" k# K; \ - <param name="goalCount">30</param>
0 r8 {4 @% y4 W- A5 y8 S2 ] - <param name="goalString">Monsters on the Windy Hill</param>$ w; z3 f7 F0 ?$ H u
- </goals>
; \& A6 M3 X8 a - </quest>
8 C3 s7 |- q- }+ Z# N! S) S( H
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:
3 j( H' n6 t, a0 H( W9 }, V+ t' g- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.- e. n& L5 i$ `% a9 h
2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:
) k/ @1 o# v+ r2 Q+ }6 w5 G5 T' L$ r7 @/ X: X& S( l
- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.. O5 P" ?* |, b- |3 ^! d2 T
2.3. Тег <conditions>Этот блок определяет условия для начала квеста:: [/ ~+ Q0 e6 p+ c/ \1 I7 s
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.
/ p! `$ I7 B9 p* C5 g 2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:' J2 a2 I/ z+ J4 x5 ]' T
- <items> — внутренняя секция с наградами в виде предметов.
9 l+ b! o$ ^: N3 u9 M/ B- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.
( B" P) _ V/ M, `/ Z; a: {
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.
4 t; H/ m. H9 R+ [# p 2.5. Тег <goals>Этот блок определяет цели квеста:
' w8 }- w* [1 a/ Q- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
! Y, l8 F" C1 k$ x
3. Пример полного квеста
3 z1 a% p2 Z3 e% B0 X) t3 m! F: p$ u) I
& g$ m: R6 N; }* H# i; iПредположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:
% M8 S3 F* C ` j2 X% x- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">6 t8 [" g: R: b' |2 s& o0 [
- <locations>9 l* t0 N k7 M( U# {( I& z
- <param name="startLocationId">1015</param>
1 e: P7 @0 o- k C; G' P - <param name="endLocationId">1015</param>7 R& l& W: j0 \' ]& i+ A
- <param name="questLocationId">1020</param>
8 P4 I- J: O' @1 ` - </locations>4 j0 Q! S+ d/ x2 R; Q) d
- <conditions>
! D, {8 L1 z$ L( c4 j1 n( `( m - <param name="preQuestId">10099</param># }. e5 e) y ^7 {+ ` j5 e$ t* R
- <param name="classIds">1;2;3;4;5</param>
- I) s" d" m: L$ p) v0 T# I! Q% P - </conditions>% ^; k$ N1 O0 D+ ? l
- <rewards>- Z1 W, o; C" J ^8 {$ _
- <items>
8 e& R: M' e! j4 p8 ?$ D - <item id="57" count="50000" />
Y% y* z0 d8 v1 {% p - </items>
. k+ I: s) e3 \ - <param name="rewardLevel">50</param>
$ I& a: Z+ R8 c) n, H - <param name="rewardSp">1000</param>, h& S8 e0 y1 `: U0 m. f
- </rewards>2 U9 }0 g! R7 G; q5 k
- <goals>+ D) E5 I; _& X
- <param name="goalCount">10</param>: h! q5 }- L0 ~4 `7 h7 e
- <param name="goalString">Demons in the cursed forest</param>
6 r9 i% w- P9 V1 V+ T. W! y- X/ c - </goals>
$ ]6 Q& {& o F4 m0 O" M - </quest>
9 W* j$ T8 j3 x: o* {. ]# ^
Скопировать код Здесь:
8 F# R* J8 F9 [% @- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.% l3 Z ?+ K: [) T( B1 ?
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.
W4 V/ F8 {( ~/ |+ z7 ~
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере., o! g4 @/ O* G7 X; @' |% }5 E# e
) f+ E k/ L6 I+ R \9 G8 S# } |