Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
' w0 R# I, f- I" T4 O
9 r- M2 f! k0 P f5 u2 [9 z
3 B8 [2 {! ^0 E# e5 I0 YФайл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.9 J; L: v' n0 O
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
y1 W0 g2 K6 ]1 m0 a0 ZПример записи квеста в NewQuestData.xml:; b2 p6 g8 S1 f0 R3 i
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
* T( \' O* ]" T; r! ]) Z0 e - <locations>
/ z. w/ u8 t* N' x% Q# `- A - <param name="startLocationId">1015</param>
; b& n/ t6 d. I# } B# `% \ - <param name="endLocationId">1002</param>
4 X$ _( r7 O. l - <param name="questLocationId">1020</param>
" R4 k, N/ |1 V - </locations>5 f- x, [4 o/ @3 g1 @
- <conditions>+ R ~6 F) m# v9 f
- <param name="preQuestId">10019</param>8 Z' Z+ \$ D$ Q; P5 ~& d* I, T
- <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 `- N8 a, u" v8 N* ^- x
- </conditions>! }8 B, m9 o$ ^4 t; a
- <rewards>- y S) i9 N- v& f, C/ N
- <items>6 Q, {5 f3 b8 A4 b7 h
- <item id="57" count="240000" />: ?) ^+ s# `: F9 W. L! `' b, _
- </items>
{; f5 ^: }. A - <param name="rewardLevel">76</param># m) k- O0 O9 c' x3 D# [' I# e9 ^) s9 F
- <param name="rewardSp">84</param>
* q( u! W. J# B7 r3 m/ o - </rewards>
& b$ B' Q( J0 u8 n/ \" R. ^- _ - <goals>) g9 `$ T. X2 M2 O$ G
- <param name="goalCount">30</param>
6 g C ?- t% E - <param name="goalString">Monsters on the Windy Hill</param>
' Y% m t9 T4 k# o1 T: B2 ? - </goals>
' D+ k0 M. `8 }1 y) m# p& P - </quest>* K" Y. C% ?# A. C2 t
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:
: ^, V9 s: v1 c- Y- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.
- d! Q$ r- U, r 2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:
, p" y$ D0 w7 n8 t1 S- L" F& i d5 H) n
4 G$ ?5 j* O" u T; v% C# \7 U- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.4 i) b: ~0 e I, T: ]& F) f5 c
2.3. Тег <conditions>Этот блок определяет условия для начала квеста:0 J+ A0 j! X4 g& f( {. ]
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.& Z! w. [) |, R: q/ \9 d
2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:
' ?' d6 v7 h" D7 J- <items> — внутренняя секция с наградами в виде предметов.' j3 a; S+ \+ ?( J
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.
9 E& @ p7 P0 {4 i4 l- n
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.) L/ m2 E/ R1 R G9 P
2.5. Тег <goals>Этот блок определяет цели квеста:
0 g* q" W7 u8 P7 t- n# D- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).; I7 X9 {6 o+ y9 d
3. Пример полного квеста. f8 M0 Y( }# Z0 q) w+ o: j- f
% ^' }4 ~; @6 T9 u' D* s* P
Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:- c6 z! L* r+ z9 e% q2 q
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
* \1 t& L3 c. e0 K) [1 ? - <locations>9 E/ E- B. H; M
- <param name="startLocationId">1015</param>
+ R$ w+ ^( ~* H0 b1 r7 Q - <param name="endLocationId">1015</param>
8 e+ j4 T1 s5 d3 h7 i1 N, G. ` - <param name="questLocationId">1020</param>
4 ], A6 q6 {# \, D C, @/ R - </locations># ?+ p1 `5 {" s# y! B
- <conditions>- ?' s0 A" D" B. @7 M- O# ^2 M' c! C
- <param name="preQuestId">10099</param>
7 ]; e% f- ^% v9 L - <param name="classIds">1;2;3;4;5</param>* ]( S3 _/ l& v9 `" S1 Q8 X% N( Q
- </conditions>
! P$ N6 `! h8 B" \ k" F - <rewards>, _/ P+ a' U* G" J( J) d1 {( {
- <items>/ ~" r6 Z# o, q B6 s8 Q8 s
- <item id="57" count="50000" />
5 P. z" x8 y( r! w D2 U: a6 @ - </items>
+ ?5 p3 j% V3 v# q# ^5 r - <param name="rewardLevel">50</param>( ]: L/ m& K+ x! E
- <param name="rewardSp">1000</param>
+ x% N# O P2 U. X z4 n7 C - </rewards>
7 E$ Q! H1 q$ J/ _4 f9 H- N0 T - <goals>
7 c8 S. }3 C" Y4 R9 M - <param name="goalCount">10</param>9 P9 T1 [" e& M0 N
- <param name="goalString">Demons in the cursed forest</param>. N5 y7 }, L; ?: O7 g
- </goals>% G+ }, ^! `/ G7 V
- </quest>* V: w! N9 {' O
Скопировать код Здесь:, g( X% T' W) Z {' `% C; X5 l
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
( h" e7 d; \! e- ], S2 T d7 N+ z: k" `
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.
; E, G5 i2 A+ C- e0 C/ t, z$ I' z
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.
) A- p' z3 ]; t* W& x/ A3 b5 ]) A/ h, Q& @2 Q d
|