Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
& h& f) S, D# r- y. ?0 g+ T- R. ]4 i( o
& ~ j' N& s7 ~4 k9 L3 a2 q/ z$ F
Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.0 Q8 b+ |9 f* Y
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.% D0 W1 @6 C: A# {3 X
Пример записи квеста в NewQuestData.xml:
! p6 Q8 k& P6 y4 B; w2 M% y- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
0 r$ c6 ]1 J r% z6 _7 z O - <locations>/ J* f* H: {+ G+ [
- <param name="startLocationId">1015</param>
6 C) O" `& d: I0 w. w) l( } - <param name="endLocationId">1002</param>- o+ [& E g+ m
- <param name="questLocationId">1020</param>
- y$ x1 l/ a1 {8 v# b2 T" w - </locations>
6 J" j# x9 N1 L- K. h# o& l7 d - <conditions>" }: r% Y6 ?. @* l4 Q3 M# b$ i
- <param name="preQuestId">10019</param>, }1 c3 m$ q7 q, _2 N/ v
- <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>
. s. f; c; `% w( J2 ] - </conditions>
1 X% W6 z( \0 r4 G9 _ - <rewards>0 Z1 K0 y2 Y5 ]5 h" o5 R
- <items>8 I) Q! f3 j4 \) o. T3 d z$ k
- <item id="57" count="240000" />
+ a' `" e( J6 w) _6 A, E- D - </items>
* x$ s" K" @. X - <param name="rewardLevel">76</param>; M; M, S- D! _4 Y3 U
- <param name="rewardSp">84</param>
' F1 b# m8 q Q" l3 ~" D - </rewards>% N6 w# n% @: i0 S- Z& y
- <goals>/ b& E9 o! }% U; E, i! e+ d" b o
- <param name="goalCount">30</param>
% u9 ~. u+ \$ q$ [ - <param name="goalString">Monsters on the Windy Hill</param>6 h0 C3 ]+ x) a' a( o* t, D
- </goals>' s& F9 ~( z1 M- s4 D
- </quest>5 d% d6 J. ?# m- X p; E# F8 l
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:/ J# V' i: x4 H2 Q
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.
- Q- p' c" Q( Y# n! i 2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:/ f8 h, w A$ s
' f; Y( u7 z8 i+ q9 g5 l" ~9 h' F
- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.% ^6 u `: G8 {" m
2.3. Тег <conditions>Этот блок определяет условия для начала квеста:5 U) R1 N& a6 y. u' e
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.
& c- |$ c) X# }, m& t& | 2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:
3 U3 p2 Y/ |: N$ R- <items> — внутренняя секция с наградами в виде предметов.# T: _' V) B) \
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.
1 Q5 J$ O! b( j* j: `
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста. J6 `! z! ^) n2 p" _6 _- s& C
2.5. Тег <goals>Этот блок определяет цели квеста: \, Y$ ]& V3 N8 K J4 T+ Q* W7 K# H
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).& z/ o- B. [; o+ V, Q
3. Пример полного квеста
. M* a4 d! O, g7 Q
% c9 ~# |- Q7 G' _$ Z, u) F9 wПредположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:; c6 A- C9 `% R0 u1 G+ S7 C# j7 h
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">3 L8 C- r" E9 i" X9 H$ H
- <locations>: @( q' @4 k( l- E
- <param name="startLocationId">1015</param>% c( C2 e7 m6 V5 t) y2 q8 k
- <param name="endLocationId">1015</param>
$ n. `4 ^3 _2 E - <param name="questLocationId">1020</param>
; h2 l) J! E4 K7 A' b - </locations>3 J5 W, r5 g8 U7 }; v, {
- <conditions># A5 ]- g' `% A8 Z$ R) B4 @0 x9 B+ K
- <param name="preQuestId">10099</param>: z* C# @8 t3 A+ S1 h2 C+ P
- <param name="classIds">1;2;3;4;5</param>
4 o3 E9 P$ y: k4 Z. z2 \, _ - </conditions>
. q3 V$ N" d- D- H9 I8 j. Z - <rewards>2 r. o4 T3 q X1 U* h: n
- <items>6 l% @" W/ O6 C" h
- <item id="57" count="50000" />
8 p! ^. U$ R9 o* S# i6 O - </items>: G- H& e& f5 y" w
- <param name="rewardLevel">50</param>; ?& e) G. c) ^0 q" }
- <param name="rewardSp">1000</param>
! j, P2 }5 {3 T9 ]5 Q8 F( z - </rewards># a# s7 X! S% W
- <goals>
( s! J+ O( v* a& y S7 l* K& J5 q - <param name="goalCount">10</param>5 Q+ Z" Z0 j# v1 l7 z
- <param name="goalString">Demons in the cursed forest</param>+ P% t: g2 J: j# w+ U
- </goals>$ v) u' i* Q5 C, J! W* t
- </quest>% r# F# h0 Z$ q
Скопировать код Здесь:
# V6 Q @& w( U- s2 @ Y- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.; m; P/ [3 d' ~0 E
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.
6 @) o3 R" z0 P4 }* l( _% v3 Q
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.3 F, c3 Z5 T. E& V; a- E
0 @8 w* @0 L- \2 L
|