Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius% X* g _+ {5 n+ W3 Z4 {
7 E: W4 `7 @9 ~* T: Z3 P* C! M7 E
- Y* H# D7 P6 l3 `, NФайл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.
- U) h# @9 M' I/ R. D 1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
% g/ v$ G* {! `- v4 C7 bПример записи квеста в NewQuestData.xml:
! _$ a( `: x4 a" ]4 c9 m- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
! a/ d/ K# m$ H - <locations>/ J ^- P& M6 q* T2 B, e) @
- <param name="startLocationId">1015</param>
; j. h5 D6 J/ a& o7 W" j - <param name="endLocationId">1002</param>
& B# H+ @' u' U' P: T - <param name="questLocationId">1020</param>3 n* R7 p& u& ?, Y. t: [* I
- </locations> P! @/ X! ^4 a# O1 R
- <conditions>
& t6 i4 O2 }0 x! b. s* M - <param name="preQuestId">10019</param>
" y3 @/ h" C5 ?* N' i: x- w - <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>
- e1 B- P A' v - </conditions>) T) b* B) v& c" j8 b7 D
- <rewards>
5 { A" D) g+ b) D" d2 m - <items>: ]4 {. U$ a! E: `- j1 ^/ P
- <item id="57" count="240000" />8 Z4 n$ M9 m$ p5 a
- </items>
2 }# t. c' F) ?0 u - <param name="rewardLevel">76</param>
% t/ y) T) W: ]$ L7 J d) p! N2 X, Q, ]: i - <param name="rewardSp">84</param>
! o5 ~6 _& m7 Y7 B - </rewards>, F% }- s6 V& ]* t
- <goals>! P' R- I; n8 w( Q" t
- <param name="goalCount">30</param>
+ n$ V% ~, Q+ g - <param name="goalString">Monsters on the Windy Hill</param>' T2 l& y. t8 b) l7 @% w$ m
- </goals>, m& z: K; R7 T% F
- </quest>: U: n) Q( n g7 F0 Z
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:
- e9 ?' A8 Q9 N- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.
4 {% v' f% I( p, |. R# g2 n 2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:. _6 b* p- c7 m% w' g
- {8 |3 L) u p) q# g$ r- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу. D* b4 e P" X5 h. s
2.3. Тег <conditions>Этот блок определяет условия для начала квеста:4 ]9 N# D( V1 `5 d; }2 R, X. |
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.4 M& u% Z2 u" o1 g
2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:
& N) [ F- ], G- J. G- M* G* ]- <items> — внутренняя секция с наградами в виде предметов.
P* g& U3 Y/ X7 o- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.
- `0 R+ J- v2 S. s5 e; J8 q
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.
+ V7 X; Y0 K8 d 2.5. Тег <goals>Этот блок определяет цели квеста:% r5 Y: i2 U" ^- J5 t3 i
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
" M9 \$ H. B. m! R$ J& U8 c
3. Пример полного квеста
, O. Y% t+ [2 S, L4 r; E2 ` f. ?6 F6 W. e
Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:: U! t% |, b. B E
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
4 N1 Y; w& k7 a* E5 n+ O - <locations>( T8 i6 W$ U$ T* v1 q- m
- <param name="startLocationId">1015</param>; C/ L4 W9 x& d+ N) L% C
- <param name="endLocationId">1015</param>3 b3 L2 [5 p: b P
- <param name="questLocationId">1020</param>
, i& h1 H9 e5 u- k - </locations>
1 q1 \' b0 S: U" ?0 K5 f - <conditions>
- r* C+ f+ R5 ~* ` - <param name="preQuestId">10099</param>9 n/ u$ I, E' B8 x6 G
- <param name="classIds">1;2;3;4;5</param>
; m4 ?! c; H/ p( c ~ - </conditions>
' E# V' Y6 w2 M- ?* u - <rewards>
6 ]; M' k3 `& d4 W, W - <items>1 A* O, V+ u% f9 @* s; n- l
- <item id="57" count="50000" />
+ b5 y1 A" t+ S i - </items>/ Q- l) F# W3 F* @) u: U O* q
- <param name="rewardLevel">50</param>
+ D' n8 V6 f2 K' E' O( g - <param name="rewardSp">1000</param>
$ ]- L/ c9 V$ j: w8 F. z2 e% F" R - </rewards>
2 Z9 e( c- t5 y) N8 \4 A) g. z6 ` - <goals>
% c2 {+ X& X: X) d% T& Y( m% B - <param name="goalCount">10</param>
( T2 f4 W1 J$ O8 l8 [3 u - <param name="goalString">Demons in the cursed forest</param>
( S a; b* f# `; i - </goals>: Y, }3 N5 L$ s, `& G
- </quest>
I& P/ {7 G5 C, W+ y9 X( e r3 Y
Скопировать код Здесь:, g7 q) X! E& K4 f2 \3 f# A& {! L
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.4 n. d9 P$ m; e0 H% N) `
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.% w" ]- G9 M; F- X% t% J" Y# A
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.9 E9 t {( ^! @ f% p9 n
, s$ B+ O+ x. g% Q+ @ |