Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
, {3 z! d% K! ^4 C' w/ k2 i1 O! o9 f0 a& e) C/ e
7 ~4 Z6 |( Z$ H$ V4 W! G$ Q
Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.
; o& `- l0 [! d3 g 1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
6 h( E4 a- l8 p/ Q) J& }Пример записи квеста в NewQuestData.xml:: f/ s/ E. f* U
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">) d; J( E+ n- g) E9 ]
- <locations>
5 m, b! `' ^5 V4 e2 {: R: w4 l% W4 {0 d - <param name="startLocationId">1015</param>
" p7 {: k* ^; Y" k - <param name="endLocationId">1002</param>
& W- f9 E, j) r- Y& w! a( A% s - <param name="questLocationId">1020</param>
/ q8 O* k# w5 g9 k- p& {7 p% ^1 F - </locations>3 o% D% g4 h1 [: y7 c3 _
- <conditions>
! z- ]2 O1 ?) S9 Z6 M) M! T' X4 A - <param name="preQuestId">10019</param>6 u+ @4 Q8 H1 J- b0 r# J* p
- <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 ]( x) ?( K& m
- </conditions>7 M# f$ v4 H' p
- <rewards>
5 R/ ~$ {# D! v* ]9 T$ W - <items>- _" T P0 J. h
- <item id="57" count="240000" />
) g/ H1 V& J7 n* l' | { - </items>
* M! S7 d% \: X# h* e: U; R% O0 b+ \ - <param name="rewardLevel">76</param>0 ~& t6 I* u$ @6 G6 K
- <param name="rewardSp">84</param>( a# S9 K' b$ a) _5 a
- </rewards>) L& j2 [" N" j# H
- <goals>' T! k7 o* D, L7 h4 o9 n
- <param name="goalCount">30</param>" @% G) X2 T4 l5 ?) N$ n
- <param name="goalString">Monsters on the Windy Hill</param>5 q- w. ~9 }( Z3 }
- </goals># u, V+ C; _$ L0 i; C% [
- </quest>
1 R7 F1 M, z% }4 S5 w( `
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:
0 \; ]- Z. q7 m, _4 B; o- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.) Q/ m9 }; q- g+ e3 S# B) f
2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:2 C1 ?' o9 u- i( }) S
" h8 B& b. r4 x1 ~! w8 L- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.# Q; S0 A5 g( l; y6 ^; U5 [1 {. X* v
2.3. Тег <conditions>Этот блок определяет условия для начала квеста:: s; f3 s$ x( \
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.
5 p( v! T5 T- `9 R5 j( M 2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:9 r+ S8 H5 b1 _6 Z" I6 W
- <items> — внутренняя секция с наградами в виде предметов.; X$ C6 L4 v1 m: Y& K$ X
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.) j J7 b: G+ L4 N) X0 } S
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.
0 U# a' @( _( P8 |. [/ T% @ 2.5. Тег <goals>Этот блок определяет цели квеста:9 Y7 T0 f1 M }
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).. A# }1 f* \& z9 ~% ^
3. Пример полного квеста' |! _' D" v: O1 z6 i
% p! b4 m& x9 E" P' {. |Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:; g: `, K2 o( R! I
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001"> Z$ k$ H# E; D4 b! @$ O$ W% r8 D
- <locations>
7 o8 s! P) c9 @: p- } - <param name="startLocationId">1015</param>$ V6 q$ S5 V# ] F2 w" V% ~
- <param name="endLocationId">1015</param>
2 ^* O. a I% Y5 P$ i - <param name="questLocationId">1020</param>5 X) D m; e0 R8 w
- </locations>
* B+ D8 H6 T% o: d& c( n - <conditions>
' A1 m9 T# V q) i - <param name="preQuestId">10099</param>
# N4 L( D; f( _) ~$ s& P% @# O. N - <param name="classIds">1;2;3;4;5</param>
. T& _! C# V% M: }4 m - </conditions>( X1 |* a6 i5 [' L
- <rewards>0 f5 I5 X0 _8 J) e ~+ m1 r
- <items>) d. r+ N8 h( s0 g Z+ s. G( X, j
- <item id="57" count="50000" />
) s" R/ @! ?* ^6 x) ~ - </items>
* x' c7 O+ n& x( l" | - <param name="rewardLevel">50</param>7 {- ]: }2 y* D% y# M: w& ?/ C
- <param name="rewardSp">1000</param>
+ ^9 a; K* C7 F" _ - </rewards>6 E! R4 K8 Z" W' U. |
- <goals>, ?. C. v9 ~+ k2 I- y7 g
- <param name="goalCount">10</param>
" J' N* Y& g: X: D - <param name="goalString">Demons in the cursed forest</param>/ O/ I' Z7 G5 [
- </goals>
/ V% j1 ?6 y% g8 g. l2 ~ - </quest>
3 b2 `1 ^6 s8 O. D* s
Скопировать код Здесь:
* X K2 d" w. _8 e- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
# o( K! S! _: H, T: O: b" Q
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.$ ]) a! c' c" Y x
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.
n/ P1 ]2 T, A) M9 c/ }6 `& h
3 V- D+ Z# \6 {! ]8 f0 f2 u% M/ z |