Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
! v+ [6 a. ?9 Z; W+ [1 l
+ T* _& p7 p& p- a0 A
; C7 Q2 W, F& z8 c( h; d oФайл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.
) G# g5 n$ f y9 ^! |" B. y 1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.* t6 l2 y, h1 E, L- T7 l
Пример записи квеста в NewQuestData.xml:
! e( W! R: ]- t- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">% J" t5 U. m1 t: @* y9 g
- <locations>
: F: `2 Z2 ?2 M) [/ m - <param name="startLocationId">1015</param>1 u& O4 i' ^. C4 `) m
- <param name="endLocationId">1002</param>
6 E5 b- r1 Q9 Z% m2 W. ?7 s2 M - <param name="questLocationId">1020</param>
! {- c% @( ?" W7 l( C; D: g- O" b* d - </locations>* h$ l* F1 J- c# q+ G' V! K
- <conditions>0 `# l( ^ G) x7 f! g
- <param name="preQuestId">10019</param>2 C5 |" n6 [6 d% J0 P
- <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> r7 }+ p1 k% A! I* P5 _- A
- </conditions>8 u( T! G* w8 V6 @
- <rewards>, F; L6 i: ?( x
- <items>. p( k( j7 @! Z y5 J/ u8 Q: K& S
- <item id="57" count="240000" />8 W& N" S5 c9 c4 G
- </items>9 I' Y* W+ \. U _
- <param name="rewardLevel">76</param>" }9 y# V0 C! Y( R
- <param name="rewardSp">84</param>
, }* }: B4 h4 \# b$ S: q - </rewards>3 ]! y- W' S; _( [% @2 r' p* J/ i
- <goals>( D0 s0 F! B' Y7 m" @5 Z' i, @+ t
- <param name="goalCount">30</param>& z4 U3 G* f+ b3 Q% L
- <param name="goalString">Monsters on the Windy Hill</param>
4 k! h+ P1 y( P5 k9 u' u8 ?! z4 P& u - </goals>
* [( W4 ?! e, K' w# ^ - </quest>
7 K6 y/ z x+ Q9 K1 X% ^2 A5 O
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:5 Z, H' v$ ~+ I; B
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.7 @; ~& z7 s' {" ^; p' f5 ^
2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:2 e. @# a" J9 i2 g
G1 E! t& b9 Z3 @( d2 T7 g
- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.
. S% T I' a1 h1 G ~- ?. J0 t2 [ 2.3. Тег <conditions>Этот блок определяет условия для начала квеста:, ?, S$ R2 V9 p
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.
+ |9 u% H' v0 `$ o' ~ 2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:
% Y3 Q! {; w+ v/ x9 K- <items> — внутренняя секция с наградами в виде предметов.# K, ?* T J; i5 _+ ?. e2 l: _
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.
2 \3 ]: g8 N7 R. O7 N- e$ ^$ g
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.5 D1 U8 k/ n! v* q- x4 d) Y* S
2.5. Тег <goals>Этот блок определяет цели квеста:% \: W- @! ~2 s5 d8 G% I- y+ j
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
/ S2 [$ Q' L' {% R+ a: C
3. Пример полного квеста% k6 P" D7 ~& w9 c6 s$ a" \+ L6 S+ q
1 e0 z8 y! y4 Q" y; s
Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:
0 O8 y0 I' [- C- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
) L8 Q* h+ q( h0 g. t9 S7 @ - <locations>
. K: z3 v0 o, w% n6 o1 v - <param name="startLocationId">1015</param>; E6 s. q; {2 ` X( J' E
- <param name="endLocationId">1015</param>7 H7 F! \" b. V* O G+ B
- <param name="questLocationId">1020</param>% D& W, F3 V( i* z
- </locations>
y* W6 y9 o6 D7 z+ Z) \6 F' i* \7 ?* K - <conditions>
D- K4 \% C" H$ u; N - <param name="preQuestId">10099</param>
+ K: L/ m* ?9 @$ c( o: I# [ - <param name="classIds">1;2;3;4;5</param>4 ^% }# L% N/ K4 ]3 N* l) L; J- M
- </conditions>: B2 R, p* I- ]$ I0 k* s6 k9 f2 h
- <rewards>( S9 Z. _/ A- ^4 B; a
- <items>( C! g3 C/ w7 r
- <item id="57" count="50000" />; Q! Y1 `+ l7 \* K8 j1 E
- </items>
2 W5 Y/ q4 Y7 w1 A8 A8 m - <param name="rewardLevel">50</param>
4 W; h# Y) q `- K$ Y2 R - <param name="rewardSp">1000</param>8 R% s" n, C& z& j$ j
- </rewards>; Q1 {) }, s. F1 V3 M- M
- <goals>, y( f9 `+ T8 ]; ? h# ^6 z
- <param name="goalCount">10</param>
3 Z( a& z3 `1 ~* C - <param name="goalString">Demons in the cursed forest</param># M- e! H( I; e! }! E
- </goals>6 y7 A8 i! Z1 R6 h9 ?
- </quest>0 {1 A4 [1 ~# J2 e7 O! x/ O: n
Скопировать код Здесь:% Y" |7 n/ l3 G1 k
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP. P3 Q j) @9 Y$ a5 R1 R
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.
) H0 g- d4 N* T9 r& k& N
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.
+ L& \ T9 |. E
$ N' [) a- K3 d9 e) _ |