Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius) O+ w9 [/ r+ i5 D
) p& o* _5 Z: T/ C4 ^ K
Q6 n5 y: S# m/ H g) C+ F! B
Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.+ u/ Z& Z3 E# b! x
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
- f0 z9 o* M6 H5 p. b- g: RПример записи квеста в NewQuestData.xml:' @2 W4 e, L D/ m( \- m6 h
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">" x) J% H" }0 W0 U* A [
- <locations>( H3 Q( Y2 y1 f: ?
- <param name="startLocationId">1015</param>
; Z* w9 a$ E$ B. W, r8 ?/ M* d0 X - <param name="endLocationId">1002</param>
9 B ]" D0 h" q" J4 g - <param name="questLocationId">1020</param>/ N5 Y8 @) c; \( i* s1 e3 p5 E
- </locations># @/ n ^% E/ x: h- L# i$ ?, m9 O( E
- <conditions>
. q! @' [' K& J) x% c - <param name="preQuestId">10019</param>; a7 `# J2 j. p7 i+ ^
- <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>
3 Q8 D% t, ~& P9 A* X# w - </conditions>
5 @' x; \1 Z. s2 R1 X6 q - <rewards>, R; `5 j) [) M3 k; i/ X* c
- <items>
# A) C' k$ Y1 w2 v/ @1 f5 J - <item id="57" count="240000" />' l5 t B* ~# i- v0 ~6 Z( B4 Q
- </items>7 o! q2 r! d& P
- <param name="rewardLevel">76</param>0 k$ D2 {0 S. j& b
- <param name="rewardSp">84</param> g2 ^4 b: Z4 u
- </rewards>: @- K( ?$ O- U0 `
- <goals>$ ^ t" |- |- n. `: C# `% d
- <param name="goalCount">30</param>
% r5 _, p% p @ W* E# R# g - <param name="goalString">Monsters on the Windy Hill</param>
3 r4 b8 t4 L+ Q. V W" C1 @ - </goals> u) q+ Q2 a& r5 H- Z5 q
- </quest>
2 ^9 Y l" F+ A" w
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:
/ Z% |, w2 v% P3 y- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.$ g3 K! M# w1 G
2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:( A1 m+ g8 O+ E0 {
, k0 q& C+ q5 w( t. h8 r- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.5 {9 Y8 P7 V' _4 D
2.3. Тег <conditions>Этот блок определяет условия для начала квеста:
# \/ u+ G7 n! ^% m8 K- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.
1 o9 I( W& C0 v0 e Q( t 2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:6 [6 A8 t6 B1 W: B# q
- <items> — внутренняя секция с наградами в виде предметов.% p9 I. L1 @& m9 D0 B2 L
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.) ?9 @- L7 z! ~
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.- s5 v2 J- m# d' ~( Y' H4 n
2.5. Тег <goals>Этот блок определяет цели квеста:
/ b8 h2 Z! L( j- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории). d; U, G! A2 A3 v& W; J& k* l
3. Пример полного квеста2 p; d: o8 e& I! Q2 |8 A/ P3 S5 C
- S! C0 G) t- J1 sПредположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:
+ u$ l3 u/ i0 i; ?1 E% p! U- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
. ]9 D8 l( z6 a6 t: g9 J$ @ c z0 B - <locations># S* p& D( y% i6 [ [
- <param name="startLocationId">1015</param>
! U. g3 m6 C( T! A4 q: q) } - <param name="endLocationId">1015</param>( e1 S/ \* ]$ L
- <param name="questLocationId">1020</param>
& v4 j( p' K. y2 ^4 g$ t' P$ R - </locations>: Y4 d& O! k) ]( ?/ |
- <conditions>/ H: l4 h3 `- E9 @# l
- <param name="preQuestId">10099</param>
& S% g1 f3 h! z/ q$ U - <param name="classIds">1;2;3;4;5</param>
% k# V* t, ]) t% U- x - </conditions>0 l4 A4 m. ?: b( q. K: i: a
- <rewards>) N( O$ o; v9 X; I+ h
- <items>3 ^4 v0 Q2 ^" w* z2 w9 {
- <item id="57" count="50000" />- D1 N# }: ?8 \2 w: ]# `( a
- </items>
) v: p- ^0 }: y. B6 |, ] - <param name="rewardLevel">50</param>
" [' I5 Q" G8 U8 ~1 u - <param name="rewardSp">1000</param>" Q d% w5 e9 M4 O' D
- </rewards>
% L# }# X3 E) X& w: ~6 g4 f9 T - <goals>
5 O* s& s4 M( m5 x6 I - <param name="goalCount">10</param>- h1 s w) u9 Z3 i4 L K
- <param name="goalString">Demons in the cursed forest</param>1 J/ c L9 i. T z: b( E
- </goals>2 n% E1 s0 m) {; T: d$ a
- </quest>; p7 ]. [/ N1 V8 A8 H5 Q6 [: w
Скопировать код Здесь:- m% I, Z# ~+ \
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.9 ?: v Z$ u- g& J3 B2 i; F
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.
9 X$ Z2 ^& T* g
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере. x# ]9 l+ K4 `1 `
) _0 S, B( {" H& |" c; `5 b
|