Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
1 ~1 N+ k% G' H+ K6 n, f, O3 p5 C' C' P* y6 x4 a: G* ]" e8 T
8 f4 R6 P, K% u B; uФайл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.
7 L* Y. N: m8 u/ m 1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.- N3 d b6 P- n% G- X1 F* e* X
Пример записи квеста в NewQuestData.xml:
' S& ?, w) s! R( _& e3 \; Q" a% J- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">+ t- Y2 _( J# Q ]6 z- g# @
- <locations>
1 Z* w5 }! G: W R: u - <param name="startLocationId">1015</param>* n3 F6 T: o' {0 i
- <param name="endLocationId">1002</param>
+ z G# L/ k7 L3 [ - <param name="questLocationId">1020</param>4 e" F |- C( r# _% i5 d
- </locations>" L/ V0 P# q' p" ?
- <conditions>
) o* h$ Q1 @' E! ]. w - <param name="preQuestId">10019</param>" C2 a9 u7 l! {
- <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>
6 w8 O v; a& j: z - </conditions>0 F/ ]& y7 C( x" {6 H
- <rewards>6 j" t$ C0 M8 N/ @$ K' J K
- <items>
! T0 B7 k$ w: y. S& V& j1 d" O& t, G' y - <item id="57" count="240000" />
@) Q* Q" V' a9 R+ y% p( ] z - </items>2 m* r3 G) w, I0 ]
- <param name="rewardLevel">76</param>
, p) T3 E: h. b7 }6 Q - <param name="rewardSp">84</param>
, j+ ^$ Y- x( X v2 k2 }7 k5 Y6 g5 o - </rewards>$ a+ [* J( b2 |) [: {' w/ Z
- <goals>9 }$ j" s! p9 F
- <param name="goalCount">30</param>! x( `; i; |9 `) t6 z
- <param name="goalString">Monsters on the Windy Hill</param>* q8 D' T O# f
- </goals>4 y3 Z; u- l4 j# l7 _9 q9 H5 ^
- </quest>
8 Z6 N" u! |- Z2 ~, h/ c& d/ U
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:0 {& G4 |; o% M$ T7 g+ X
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.
6 i) K* }4 U3 X6 y0 \ 2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:
7 \# e+ J l6 |/ P0 j! M! i" x1 L# Q7 ^. M; y# F2 {
- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.. ~; y0 P1 G6 @* W7 O9 X& h# z1 |
2.3. Тег <conditions>Этот блок определяет условия для начала квеста:2 ~) A5 I/ o3 G; g
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.7 B1 W; C8 D7 T2 j W
2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:& g$ w" \% Y' m" r- n
- <items> — внутренняя секция с наградами в виде предметов.& i% ^5 L K/ K: P# H/ T% _: Y: O
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.7 j& x: Y3 k9 |
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.
8 u; i# k8 c9 ~) |$ ?9 O- v8 o4 C 2.5. Тег <goals>Этот блок определяет цели квеста:
' R7 b3 S7 q4 L4 F; m- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
* z/ A! C' H: X' Z9 t1 @
3. Пример полного квеста
' N5 s) V3 a- r; E
8 B) G5 B; R: Q' `% H ^8 wПредположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:# L# f j6 f k* v$ t6 w( c
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">9 d( ~4 Q7 q% X) q# ?- j6 l
- <locations>( [* ~/ Y' i3 t& w! t0 z! M& w
- <param name="startLocationId">1015</param>. Y& f4 g6 o+ `/ M
- <param name="endLocationId">1015</param>) n* z$ f5 S2 |, w% w( G
- <param name="questLocationId">1020</param>
$ @* i! d' s- y6 C. P - </locations>, l! C. f" m/ N2 K# g. ?8 q
- <conditions>2 L" l' I# S/ g1 U. u
- <param name="preQuestId">10099</param>
- [+ q1 X% s0 ^! `2 T2 o - <param name="classIds">1;2;3;4;5</param>
3 d* G2 L2 |: s7 {- b/ l - </conditions>* W8 |- y8 q, J- p- m, t; C
- <rewards>; q, M/ o/ ^* L( n2 ]/ T7 s* W% p
- <items>
" K- j: U; b: \7 T8 I6 C - <item id="57" count="50000" />0 w3 `& {; V; d2 _3 F( b0 E: u
- </items>
9 w7 \/ y, R2 x* w! n [ - <param name="rewardLevel">50</param>2 T) J# u6 G5 \$ H1 G) C6 }# F
- <param name="rewardSp">1000</param>2 [8 z3 z! F, B/ A# r
- </rewards>
, h; [( I( Y! W- T; C - <goals>
! `" C3 }: d' W8 { - <param name="goalCount">10</param>
5 c: K! \# e4 u: k - <param name="goalString">Demons in the cursed forest</param>
' o+ `) ~- `/ a. \- ?) u - </goals>
1 b$ ?; y! U+ W, O7 H) G' E - </quest>% ?0 q) P1 r1 Y9 c
Скопировать код Здесь:- f1 c9 G: G0 B! X! B( B
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.5 P+ ~# ^! F3 K- x% v) k
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.
" d R5 J3 ]( d% J# k4 M
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.
' J4 N4 I5 X% v* O6 z/ i, |7 Q+ `- g1 u8 Z- F& M: Y
|