Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
. Y9 t' \: y2 S% k$ H( f! g) l
c6 f. r8 \" c. p2 G3 I
9 G8 a7 q4 d' _% v. _( _: |Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.
: h* c. Y! a# b" Y" m4 q; J- K8 d 1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере. T9 c6 ]2 Q- Z. l2 R. }' V( E
Пример записи квеста в NewQuestData.xml:
; Q4 r, n6 k8 G8 G: C+ L- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
" z, n+ Q$ u) Y! z9 k+ _# T3 S - <locations>- }; B! ]( w+ \ |& R; i
- <param name="startLocationId">1015</param>
! F+ x5 W( q5 z9 P# L$ W. d3 a* J - <param name="endLocationId">1002</param>+ u: Z9 M2 U. A/ Y( a K! z
- <param name="questLocationId">1020</param>
; G8 R( l/ J, s - </locations># O7 @& E. N& @7 F9 D O
- <conditions>
( ?6 C O/ A9 D( l; q - <param name="preQuestId">10019</param>6 R g7 |; |# e+ J1 ?6 o: ~, h
- <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>
8 `! d: I# l5 d0 j - </conditions>
; G$ I* A' |1 t5 p" l - <rewards>
5 V+ V5 C, }# l7 W# u" J4 ` - <items>1 i' X+ g" a+ F' [5 t+ R5 q
- <item id="57" count="240000" />
3 g, z3 y! b/ P$ z - </items>0 K5 P- U# W U: ~ Q+ C6 ?
- <param name="rewardLevel">76</param>% M( {6 A3 u' u) W; [0 e
- <param name="rewardSp">84</param>/ m, c/ p4 ^3 J4 W e8 W
- </rewards> o' Y( P+ G& R# G& e: n6 |
- <goals>
; P! o8 P0 A0 G. H0 ` - <param name="goalCount">30</param>
n* z* ?4 ]3 O a; w$ d- f - <param name="goalString">Monsters on the Windy Hill</param>
5 B( t6 X) G0 T/ ]- p( v - </goals>8 L8 \& g, ?1 V2 n
- </quest>, U( R, t9 E4 K
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:
$ o0 H: h# S9 M! g! X! `6 a- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.
2 m% w2 I/ X; p% x' q. [# n% I 2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:
" o9 R) r1 S% \( t
* i. x2 U2 B2 Q- e3 D- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.
/ t; j; w' r4 A 2.3. Тег <conditions>Этот блок определяет условия для начала квеста:' z7 s0 a1 D2 J! u0 t
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.
# H% G4 H0 B1 d' L' x6 h 2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:5 I3 f8 Y; T( N4 `, r" }1 K
- <items> — внутренняя секция с наградами в виде предметов.
/ b- n% t3 L$ B8 |5 t- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.5 Z! p0 a- e2 z5 v0 C/ x" w% O" J
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста., A0 q: ]& D, K2 v( n% X+ h& t; z# Q/ l
2.5. Тег <goals>Этот блок определяет цели квеста:9 a: }0 f. B- X' X6 S, t" T% i+ z
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).7 H q) n/ E. |( q! w% S& z
3. Пример полного квеста
9 f0 c, f/ P5 Q! Y6 V7 u. i; g+ }# ]( p9 [: S6 O8 q- F. M
Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:
% s/ n, m z( s# K8 @0 H, _- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
5 A5 d+ V$ E$ r: ]: E1 e8 V - <locations>0 T+ L4 m! Z1 k9 J; \
- <param name="startLocationId">1015</param>
; l- J' y9 R# |7 Z5 q - <param name="endLocationId">1015</param>; z, o3 s D7 A% [- i$ u! o
- <param name="questLocationId">1020</param>
) Q- m6 N3 L$ i7 G- _ - </locations>
; s4 s6 a, m- }+ z- \ - <conditions>
+ r9 L9 e4 n! b3 j - <param name="preQuestId">10099</param>6 O* H/ F2 K, _* s2 }' D( ?) F
- <param name="classIds">1;2;3;4;5</param>
! u/ [% W2 g" K; V9 h - </conditions>* f. W" J5 P& h* z8 W/ F5 j
- <rewards>3 f- x" k+ f4 k9 x- l
- <items>, Z0 j( ~! P# i7 T1 y
- <item id="57" count="50000" />, I7 N, Q- W/ q+ U G! |/ p
- </items>4 u' x j# W4 P' ], s
- <param name="rewardLevel">50</param>: e. S* k# K2 ?. c) c
- <param name="rewardSp">1000</param>* G$ w+ A; g1 o0 m# X! z
- </rewards>
7 m4 ~4 C M) ]# l - <goals>
5 n& h' e* S9 `8 Y+ l- U8 w - <param name="goalCount">10</param>& Y9 b) q8 ?& i
- <param name="goalString">Demons in the cursed forest</param>
, x- Z( u, N+ }: m1 i8 }& v# b - </goals>
0 S. D d$ h& a - </quest>
2 P0 ^4 Z* @! |, G, X* O
Скопировать код Здесь:1 s; u8 G" W# m, U3 [
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
% k2 C' n q& n- I7 D# r1 w; L( g
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.
4 s1 o4 m% g1 ^# F0 {
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.
9 q1 [1 }4 o0 N3 u. n1 l# G6 r2 w: [. T8 u3 k" q; _. w" B0 K
|