Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
% ^- N6 c$ e! @" h6 z9 C
+ P6 D2 ?, S+ y1 C2 z
6 T0 z4 @5 \; [' H% e" T$ ^Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.
; Y0 t3 n& X0 j$ H% J9 z6 p 1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.4 j+ q: T- c+ Y
Пример записи квеста в NewQuestData.xml:
2 d1 x5 e1 }. `- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
/ F3 Z. c# P& m* a6 a2 d0 ]! D - <locations>9 U2 A- M+ U8 @# d- B, N" P
- <param name="startLocationId">1015</param>0 e$ s! V3 t0 T+ y
- <param name="endLocationId">1002</param>
2 ^8 l: v G5 h( b$ M - <param name="questLocationId">1020</param>
! c* y* a w z4 G1 o - </locations>
! [% q; k3 X9 H. E" v5 z - <conditions>
' T; d$ `* q. Y9 I - <param name="preQuestId">10019</param>; m8 h& |. m( D: R' F* I: B! s
- <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 M- K" ?: c) p
- </conditions>! @( e) }! y% ]1 [. |: `
- <rewards>: @& \( w& `/ r2 Q& X7 a
- <items>
- a+ @% X9 }6 Y8 z! c8 W - <item id="57" count="240000" />7 D, r4 |1 V: J
- </items>1 F3 _( I9 A7 w3 l- w
- <param name="rewardLevel">76</param>
+ L0 Q" E2 v% E% U) g - <param name="rewardSp">84</param>
" c- {" C! d7 R$ Z* ` - </rewards>* y6 I0 f% Q( _, L. m; m7 a7 v
- <goals>
3 S* O3 w4 W7 o5 ?% E$ A2 } - <param name="goalCount">30</param>
. |' d2 v) M* B2 U$ ]3 M( Q, A - <param name="goalString">Monsters on the Windy Hill</param>
1 l/ U$ j/ P) q5 \7 @' G2 X - </goals>
( U5 H' \* X5 L# J1 a7 t v - </quest>6 e H9 i4 n/ a2 {2 Z' Y
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:
C* I5 r5 I1 q* K3 Y- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.
; V1 L+ ]! h4 n! |& U 2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:
8 H- ^8 f( ?# Z/ C8 J- f* h
2 y: S) [# H# b0 z, c4 w/ ~- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.$ ~( W l2 y* S6 v& V+ g
2.3. Тег <conditions>Этот блок определяет условия для начала квеста:' A! E _7 ~) r" C) w8 F1 u% T' M7 j
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.7 F X% T) p( g/ ]2 _* I; J1 ^
2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:
7 {' R- ^. N9 I2 E! i8 u4 h; L- <items> — внутренняя секция с наградами в виде предметов.$ z2 F& Q y% U7 f6 m- V7 ]2 E
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.
; V3 ?+ ?0 U3 U0 j5 n+ y. m9 Q1 i
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.
& [6 J& I- ?/ r6 l% c 2.5. Тег <goals>Этот блок определяет цели квеста:
) k6 B1 T( b( y0 J1 y! w$ R4 E- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
+ A' H+ ~- X8 U3 Y; @$ s( x% Q
3. Пример полного квеста4 z8 w! K' M0 `) G
3 \. N% Z# Q" S
Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:. |' h1 n Q7 D6 C3 I1 z
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">" H8 s6 D$ p4 U- F! s9 i# G5 k
- <locations>6 u- I, C5 L6 n4 h7 C
- <param name="startLocationId">1015</param>
8 I" j2 _) e& z# q+ \: M* |4 d9 C - <param name="endLocationId">1015</param>
) D( `( I5 U# @% W2 T0 q! h0 W! h - <param name="questLocationId">1020</param>
( v$ } [9 \4 h( b) O - </locations>
' J2 T; |4 |& Z: I+ ^ - <conditions>/ m( g3 g' ~+ V! S
- <param name="preQuestId">10099</param>+ D, V1 ?& P5 T" U; S7 j: @
- <param name="classIds">1;2;3;4;5</param>
( B$ g1 A" l3 @ - </conditions>
$ p6 A5 v/ S8 {$ B5 S8 o& h - <rewards>! P4 ~* ~& g9 s2 j" [$ m
- <items>/ t/ V7 Y" K. H# x/ j* P
- <item id="57" count="50000" />7 \& n5 ^/ D* Z$ i
- </items>' g, b# g; t& B4 z# O
- <param name="rewardLevel">50</param>) L) J/ _* [( \- {- N( N& J
- <param name="rewardSp">1000</param>
+ i' Q( }) m: I2 ?6 H8 Q1 @ - </rewards>7 z0 x! X! K1 s, i; J7 S0 ^8 c
- <goals>! K- e; m9 _7 M) M" R
- <param name="goalCount">10</param>6 H: q% t5 v) H+ A$ g) \
- <param name="goalString">Demons in the cursed forest</param>2 G, {. u- m- P- k* T v
- </goals>
+ u, u$ L8 J- m7 ]; f7 z6 |- d - </quest>$ G9 E: u r+ q
Скопировать код Здесь:* L% K8 B3 d( _. Y4 ^5 ~
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
5 o( A/ ^: Y$ R& K$ r
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.9 Y2 ~: `" h( t. F: C1 J
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере., Q4 c; L2 m( y) c" m- e' p4 D; D
2 G0 K/ W5 C8 ~# |4 T9 E; X |