Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
+ g% l% K/ a6 w' [8 M+ B' R, L7 G
( j: s7 a' F1 ?& t! @1 }7 w7 |2 y7 a+ l; c* @' X) I. l
Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.. Y4 }5 F2 u. ~ j
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
# ?6 G# L: F4 q: i7 u+ R+ F* nПример записи квеста в NewQuestData.xml:
4 J5 @. h; K4 o! o. r- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
0 S( {) N" y8 W }& m) i - <locations>
3 j5 R- N# K" B; Q - <param name="startLocationId">1015</param>
7 }0 Z P5 w+ d$ o6 X y( } - <param name="endLocationId">1002</param>6 x0 M9 G! K' o% v- d
- <param name="questLocationId">1020</param>" D+ v, B/ E* r) W+ s
- </locations>
9 L9 N6 P/ J' }) D! t - <conditions>+ R4 J7 n8 w k' |7 W* ]8 y; u
- <param name="preQuestId">10019</param>
1 m. Q2 u2 _ X R6 O4 G6 F - <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>& {$ L; F$ G5 _
- </conditions>) r5 A8 n: V J) B2 G9 W7 ~) P
- <rewards>4 p; f" V" p0 z. `+ a% v
- <items>
! D; n$ ?2 }8 f - <item id="57" count="240000" />6 b T5 r6 F$ A, Y9 S& ~5 q' o
- </items>2 V3 y6 T4 C% |. g, r! b; y
- <param name="rewardLevel">76</param>
" p% G- Q, z6 e* s - <param name="rewardSp">84</param>, o. i# h' ~+ w. l
- </rewards>. I C8 x' H7 S
- <goals>% F: n; ^. ?. _. x% F3 y3 _
- <param name="goalCount">30</param>
2 N5 e* W; ^2 c( O% W - <param name="goalString">Monsters on the Windy Hill</param>% X( ^3 e% v. `
- </goals>3 l$ m& l6 I% F# M2 G- C, a
- </quest>9 [. q+ \( o; O' Z! }/ X% e, P
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:
8 ~) V2 t6 ~6 ^- [% h3 A* }# _' D- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.
# R& y, s4 N1 n# k: z$ D3 p" c 2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:/ b, r, g4 W' K4 F. t9 u, a
7 g7 L. F; {) ^" E2 q/ j- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.
5 b4 t6 O5 [+ @" j5 |: `* H 2.3. Тег <conditions>Этот блок определяет условия для начала квеста:6 F' o7 m' l4 `
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.
+ Y9 t% d: e6 s3 I! E4 H 2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:$ X. I2 B! o# I. s
- <items> — внутренняя секция с наградами в виде предметов.
8 o; k' @) ], F& g- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.% C. K3 y7 R/ U* I; s+ p' O) [3 M
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.
A9 o$ e$ P2 r 2.5. Тег <goals>Этот блок определяет цели квеста:
3 d, N7 ^- x( {. d3 D, Y- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).- g7 w9 h0 \& g4 |: M7 D& O
3. Пример полного квеста
1 j% |; I0 F5 t, o
1 w- E) T- n! J/ H7 o, x5 v& pПредположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:% `3 t( o; b+ V+ X# _
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
m+ ]7 y8 l/ f3 Z, t7 { - <locations>
) |0 ^) p. L0 K0 J* c; v& w - <param name="startLocationId">1015</param>* J1 Q, H( S* \1 z5 M
- <param name="endLocationId">1015</param>3 \' p4 ^( L5 `# p
- <param name="questLocationId">1020</param>( H2 s/ x" @: t; T/ r
- </locations>+ c2 |9 r& L+ ^2 {; n, P( X3 X0 E: @
- <conditions>
4 u2 g" |, {: x/ y, T4 j3 o - <param name="preQuestId">10099</param>& U0 }) \' Y R8 ? A
- <param name="classIds">1;2;3;4;5</param>
. f/ M, U; X- @; d. e# F3 R - </conditions>$ G4 S. O" ]. W1 l" s6 U( h9 h
- <rewards>7 k5 Q6 s. i! Q6 ~' _
- <items>
& v% K+ f% Y' t7 H, J6 h* | - <item id="57" count="50000" />% `0 D9 P0 I% v
- </items>0 i. J0 ]- X g* x `) k* S- E( S
- <param name="rewardLevel">50</param># D) k. |. F4 i: t1 b# C4 ?
- <param name="rewardSp">1000</param>
" \* o5 H* I9 q/ s7 u5 A" T5 D [1 b, w* } - </rewards> I$ p9 H7 [8 L! D' T! `
- <goals>/ P5 x3 a! ?3 O& M7 z' S
- <param name="goalCount">10</param>. |8 i9 }3 j/ r+ |: t4 R$ j. \ _
- <param name="goalString">Demons in the cursed forest</param>
. m: D" Y: b8 U# G - </goals>
8 A% g2 P: L+ e& l! Q! } ] - </quest>$ A: f& q( T1 p0 @2 k7 n
Скопировать код Здесь:
: t# ~/ u' I. ~6 `, c* q0 N- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
' ?( D5 A# z) @& N3 V
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.
% C9 s" [3 ?) n, I8 @
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере./ Z, ?6 }' e- c d/ r7 h
- y$ ^& E& g1 f4 x1 b5 v% q, H. F |