Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
2 a* _4 J2 @5 R( `' I4 C0 p
' d; D( A M( t8 ^
0 H, T" w& w" G# S( V1 j' tФайл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере., p+ b# ]) }. t( R4 c0 e) q+ ~; c$ K
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
3 P. }9 A* d" [9 n4 DПример записи квеста в NewQuestData.xml:& Y7 ~; r4 }1 F' \4 R4 e) \
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">; Q0 |$ G. X: L0 R! z+ c0 I8 T! V
- <locations>' u" c0 \7 x: K
- <param name="startLocationId">1015</param>
7 n2 h# H: ]+ W; B6 D2 L U- F - <param name="endLocationId">1002</param>
" |# ~5 c7 G. }* E: e - <param name="questLocationId">1020</param>3 X+ f# r+ I `5 b# F1 A
- </locations>
' V1 j$ [' W. Q6 l5 d2 `9 `2 V; h7 A - <conditions>
4 i) f" V+ V7 l& m5 _ - <param name="preQuestId">10019</param>7 C8 b' L0 T- x X$ l( p, j
- <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>
! S6 y* ?, I+ ?( @, w% M( y - </conditions>: X7 b: k M6 B
- <rewards>
& Y1 D1 a" C- G8 y - <items>0 H) \; _6 ^- o9 E; \: s$ q, @
- <item id="57" count="240000" />( D; `' g( i& G
- </items>
2 [/ ~& `+ S& X- q3 |/ r - <param name="rewardLevel">76</param>
% w R2 _/ U' p7 b+ b7 ] - <param name="rewardSp">84</param>1 `! D& F6 ~! N8 ~' Z
- </rewards>/ }( J+ b# ?3 X* z9 G! H
- <goals>8 w8 w( H& R) M
- <param name="goalCount">30</param>
6 W9 H9 r, e9 k: e4 e& `4 u - <param name="goalString">Monsters on the Windy Hill</param>! |$ I. K, A( c
- </goals>( f9 F+ B9 ]* N' q% l1 C
- </quest>
! M2 J0 c, U* V) D! a6 f
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:
, O2 n. p) r J, A5 j- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.. N# {/ f; P: i$ Z6 F3 @$ G1 |* Y
2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:8 [) ^' ? k4 T) U
@0 `. T. i# B( }- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.
1 ]: ~0 Z6 I, J6 G 2.3. Тег <conditions>Этот блок определяет условия для начала квеста:( L! i' ~" C6 p4 C7 K- d
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.
! ]- f& v: ~1 y 2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:. ]3 Y: U8 Q: B4 T
- <items> — внутренняя секция с наградами в виде предметов.
, M* S H, U. `3 q' M& E9 d- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.! I/ w- R/ n& r' |5 A+ U% l9 d
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста." m" k* \# L. o1 N6 h- Z3 A/ B
2.5. Тег <goals>Этот блок определяет цели квеста:1 K n2 m6 P4 H) i) X+ ]
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
$ K. x* h( F5 e) l/ M0 u- k$ S
3. Пример полного квеста
+ w' i6 T5 v( W/ F
0 N+ y. K! \) R* B$ n5 @Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:, P7 N4 a) C! ?8 v6 P
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">4 G% {0 W0 n! T# q
- <locations>; a8 w8 |4 l+ r& m
- <param name="startLocationId">1015</param>
' b' T; |- n, y, D8 s - <param name="endLocationId">1015</param>- q/ @) {! c t: p0 Y( T
- <param name="questLocationId">1020</param>0 t4 N& }- A% q' u: {0 Z
- </locations>: r( j' B8 I( k6 z |) M9 Y
- <conditions>2 s% \6 ]7 r: _/ C3 f6 z
- <param name="preQuestId">10099</param>8 R: E* w7 Z, ?3 ~( i
- <param name="classIds">1;2;3;4;5</param>
- [: S; k0 U8 v9 S: {3 s/ N - </conditions>
5 i' b! f+ K# j) x# {. r - <rewards>7 R- M( v6 w& p+ a: N; S. `3 d' k
- <items>
/ X7 H: Q: L, L: Q- d( o - <item id="57" count="50000" />% ]( V/ J" }8 v+ N5 t$ U; X
- </items>
: H) `& L- ]! f9 o$ s, u$ C - <param name="rewardLevel">50</param>
" F# s6 H/ P% I - <param name="rewardSp">1000</param>
$ V" V9 W8 o4 } - </rewards>
- i0 H" R5 Q( Y% }! V - <goals>
+ S# c- z0 s* [/ E - <param name="goalCount">10</param>7 X+ m3 L% |+ N9 \1 s6 i
- <param name="goalString">Demons in the cursed forest</param>
. X4 I' ?* ?! m& g$ q* | - </goals>3 `5 b4 z5 e2 X" W2 S
- </quest>- a- s* a" X) E2 ~+ ?
Скопировать код Здесь:
o* e) i. t) ]3 |) k- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
5 E, z# O) ^+ }+ \
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.
- |# z- S/ `, t
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.
$ ]- A+ H; s) C$ Y3 {9 {/ R+ E6 k: b, n, }
|