Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
! ]! r0 a! i1 t B9 C2 c
% i$ a' c: e8 ^! @
( `* ^+ R: D6 ?) BФайл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.( ~4 v* s* ^* K2 n8 N
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.( |/ q( {1 D" A
Пример записи квеста в NewQuestData.xml:4 A6 V5 o. n. J
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">6 O. c3 n& A5 g" a" x; Z# |2 P
- <locations>. l2 r T. @4 e3 ~& v, r% y
- <param name="startLocationId">1015</param>
; @$ b1 [: X; v9 U- | - <param name="endLocationId">1002</param>! |1 @" Z# |5 S$ j% k
- <param name="questLocationId">1020</param>
0 K9 K! Y' N+ l% O/ U* H - </locations>
- |, \! ]1 X$ K% U - <conditions>; P8 e0 x" V) V2 O4 s; T
- <param name="preQuestId">10019</param>9 m# J) N) ~2 c7 h! I2 l
- <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>
+ p3 ] M7 ?7 F4 {+ w5 R& N - </conditions>2 P P0 r& ]- @& I$ `8 r {* A
- <rewards>
6 \( v3 f/ ]: K) G - <items>( \6 M1 f' o' L p7 }4 u: e4 Z
- <item id="57" count="240000" />( q: h* j0 j, @2 u
- </items>* ^+ [2 G. M! Q: I* K, z' p
- <param name="rewardLevel">76</param>
$ j6 y& k0 c9 M- W) g& \* v/ \ - <param name="rewardSp">84</param>
4 M" ^2 s9 b" a0 p" q5 e - </rewards>9 g7 i% B' ]2 I n* d" D
- <goals>
! l( x1 n8 w) h x$ Y, K) ]+ n - <param name="goalCount">30</param>9 W- c- D4 d9 ~9 I0 [: F. D
- <param name="goalString">Monsters on the Windy Hill</param>
8 E" H- @2 @$ D2 L* _; G$ | - </goals>2 D6 y! o1 e3 _9 w
- </quest>
, S4 V% |# l* U6 Y
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:
3 y, m4 x% u% x+ l. V- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.# `$ q/ b! o. m
2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:
4 V" ], g: }. D5 E( ?7 O, C% `& X
5 b& v2 L7 f2 [9 b4 f- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.& L( g% E1 \2 M: D2 ?
2.3. Тег <conditions>Этот блок определяет условия для начала квеста:
* @. @- ~+ j# T. W# K2 H5 V- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.9 M/ R7 `8 `3 ]# [# v
2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:: Q+ D5 o) u, A& K b( s0 _
- <items> — внутренняя секция с наградами в виде предметов.
) L D* P3 i0 J2 q7 C- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.
- h0 D! R/ {! H% r( G7 Q
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.
* g6 l+ Y, C1 t7 y. z x- F) M 2.5. Тег <goals>Этот блок определяет цели квеста:
! d' h( {. D& ~; A, H- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).9 o# M% O6 ?8 I, R8 ?$ C( t
3. Пример полного квеста1 r) L) U$ r! i6 V+ \$ R0 F
9 j, _* P) m* [5 ` o
Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:8 h+ ~+ p0 }) H! o! L: N3 R
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
# N( l! j4 c& T# y - <locations>0 S# E4 o( G7 ~6 j& u
- <param name="startLocationId">1015</param>
: J* L% u9 G' L7 _ - <param name="endLocationId">1015</param>
8 V2 @" u' {+ s. A: p- C: ^1 T - <param name="questLocationId">1020</param>
4 M. B" Q7 E% i5 Y* _; ^- E$ N - </locations>2 n E$ d V5 A# M3 \ o" o7 _% e
- <conditions>
# i- N1 g4 y# w - <param name="preQuestId">10099</param>
! p8 q" Q$ ?2 y0 m" c6 v& Y - <param name="classIds">1;2;3;4;5</param> l: h7 ?8 k8 f; m8 ^4 I
- </conditions>/ z+ ~4 S$ V+ c- z0 o
- <rewards>
5 l+ |% j# r& p4 F( I% a u M/ ] - <items>1 S. Q b4 A5 G: R5 L
- <item id="57" count="50000" />
8 S+ q; V8 w+ U3 ] - </items>- w: t) d( r( v- E& s) P
- <param name="rewardLevel">50</param>9 i# t* t) f" w0 H0 x
- <param name="rewardSp">1000</param>
. N1 F! \/ U# x9 b; {2 O - </rewards>
$ B% C9 ^3 u3 C- k! W - <goals>
5 ^3 X2 |6 q2 r4 P - <param name="goalCount">10</param>
9 S! t6 C6 u; w, W8 g7 u% {* k+ N - <param name="goalString">Demons in the cursed forest</param>
# l: b* V3 T0 w* V - </goals>
( w% g$ |+ ?, s0 x( c - </quest>) P. C; f' k7 T( N5 b! ^" i
Скопировать код Здесь:& F+ W- D+ ?' G) l. N
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP. ~- w- d# n; L* Q, }- s. {! ~
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.) i% R' C5 \7 [# Q/ G% ?
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.
' a4 |- L1 L# o' o, r7 @
! N- V6 d: G7 R+ ^# e5 m8 i |