Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius7 o4 A- H4 I: A
- o1 s' b# F z1 Y
/ q+ O3 g$ [$ zФайл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.
. |4 \3 S1 _# D( D, m% |" q 1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
3 p2 k6 b# O0 i+ ?" f, D& oПример записи квеста в NewQuestData.xml:; X# O9 {. I) f" E9 R( K" C. Z; p
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
; N( v* q& A, i5 z5 D - <locations> X# s" D1 y$ {( C
- <param name="startLocationId">1015</param>; ]- h& T- I- [7 t; R- d; d0 X' e8 D
- <param name="endLocationId">1002</param>
4 S( r, Q# P+ Z7 _5 [4 {* | j - <param name="questLocationId">1020</param>
! _, t. f9 V4 S. N% g" H/ d( b! c - </locations>
9 C, L6 J/ R0 J$ t( Q8 S' h8 o2 g - <conditions>
! s5 z/ N% y4 g0 `& M4 W* s. X - <param name="preQuestId">10019</param>
$ Y: U9 w, S O/ }) b - <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 ^9 F$ ~9 p) r* Z' l% m' m
- </conditions>4 V2 S0 @, E! y; _; V
- <rewards>
( H4 [# W( W1 s. f& h9 b% I) M& Y* ~ - <items>
& ]; j" y3 {7 `0 }) x0 k - <item id="57" count="240000" />7 t2 \# D. t" K, ~" C# n' ]
- </items> P" Q8 R/ k2 V1 p
- <param name="rewardLevel">76</param>' z2 R% d' u8 Y" f
- <param name="rewardSp">84</param>8 ~: `3 {% k/ K& L7 M: S
- </rewards>" ~; I- _* B' Z3 }& z
- <goals>& R# C6 x, {. N! v) R
- <param name="goalCount">30</param>0 O5 @# E6 {6 @4 v! y+ f0 M
- <param name="goalString">Monsters on the Windy Hill</param>
1 K. ?7 S2 O; N ~ - </goals>. ~9 E( }" w* K
- </quest>
! @$ A4 s) C4 P$ @) I) d( }# u
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:( ?1 E1 J' L, y
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.- J1 f0 [/ A- r& ^
2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:, x$ a7 O" n( m
/ g% Z! h- x5 j M
- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу., G; M8 A# c' g
2.3. Тег <conditions>Этот блок определяет условия для начала квеста:& {0 g+ G1 M$ a
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.
* |3 T4 k0 v0 y8 _) c) R 2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:0 E$ z, _2 [0 X1 @! g% J
- <items> — внутренняя секция с наградами в виде предметов." u# V2 x6 f( n4 Y
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.
8 k1 v, Y( H4 u8 u" e( f
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста. E9 V Q: v) w# W
2.5. Тег <goals>Этот блок определяет цели квеста:
' t: u, v& E. @3 D5 s% L- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
+ S, f6 S: I( s# r' F2 ~
3. Пример полного квеста
# L" ^1 F# ?% [8 l$ P
* \5 o) S" S7 M- P4 yПредположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:! s, h/ \3 R. h
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
6 k# i5 f0 z9 i4 z6 u4 U - <locations>
5 R( s+ e* k( Z. M/ s- d) y - <param name="startLocationId">1015</param>3 }- X3 U5 f. | j
- <param name="endLocationId">1015</param>
8 w% D( o) k0 j0 Q" C/ g4 i1 C - <param name="questLocationId">1020</param> y6 F1 T$ G! L1 W
- </locations>2 i+ m- D/ f# ^! G) e
- <conditions>
8 g" n" m8 o1 N - <param name="preQuestId">10099</param>% i0 u7 a8 C5 E6 y) ^2 E
- <param name="classIds">1;2;3;4;5</param>
! @3 ?0 G2 L+ C8 T1 H: r+ F - </conditions>: G- g) [$ ~- t0 a. N
- <rewards>) a$ V! L% d. {0 Z0 {' a
- <items>3 K2 \( g' {8 w4 Y* I* a1 N. u
- <item id="57" count="50000" />1 l1 _- k7 O% [ ]8 F$ @. I, y
- </items>
0 `5 u. {6 h2 c' [) F) \' R: a. P - <param name="rewardLevel">50</param>8 Z+ @" c( i5 C( J3 q0 Y$ N* H
- <param name="rewardSp">1000</param>) Z" y0 W. ?7 _" _! `
- </rewards>
+ z4 f& W* X9 R" ~ - <goals>
( L( }' w3 T: P: ^: ^ - <param name="goalCount">10</param>
/ m7 d9 Q9 Q* ?* r$ d; E - <param name="goalString">Demons in the cursed forest</param>
5 {6 I) J- J5 L! T - </goals>4 c4 j- ]8 I5 `3 i! V
- </quest>
: B2 {) J" @. x
Скопировать код Здесь:
( J- q+ `8 m* D% |& K- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
& ~7 q, L: J* L' R' L
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.
0 p0 M& N, G) F6 v
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.' x8 Q0 l' T* v: u, d0 P( T/ {) ~
) p4 O0 N U0 l1 p |