Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
* U! C' K$ ?' A/ k5 t1 @( m3 c( N% n1 t# |& ?! i& m0 c. k
5 ?* n) g% m6 H- O6 H8 ^+ J
Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.9 W( X2 k7 [4 d7 Q, l! r8 E! O
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
/ j" ^, Z5 q) K vПример записи квеста в NewQuestData.xml:
$ c7 o7 m3 a! I. V' E8 s' x) G- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">8 v& ^3 P% s. W
- <locations>
+ V) V. x$ F# ]9 A8 r5 B% ^5 S - <param name="startLocationId">1015</param>
: G4 o K, P1 M - <param name="endLocationId">1002</param>5 s% M; {" k$ A8 X0 _, d" H: ^
- <param name="questLocationId">1020</param>! W' F0 V( t L4 A5 y& ~& D; t8 m
- </locations> u1 H: `1 f* d3 t2 O" _; u5 ~3 I
- <conditions>4 U! _: ]8 o7 V! ]! J7 {
- <param name="preQuestId">10019</param>
: e. L# A) ~( T8 {- I# G7 \$ 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>4 y1 P4 T( Y+ K# q
- </conditions>/ {5 t0 R# k2 L, p6 x+ @8 y
- <rewards>
9 L5 O5 t' F n' x4 N. w Z - <items>2 P5 A7 W* [/ ]& r1 [
- <item id="57" count="240000" />. R: \7 `- p2 p( ^' I. M0 ?
- </items>" Z7 r: @8 {8 ~# R7 R; H
- <param name="rewardLevel">76</param>/ H: s+ W/ h+ E% e$ u9 q
- <param name="rewardSp">84</param>6 V+ e$ H# {# ^3 h4 x
- </rewards>
0 w5 P* h' H+ W1 g& l {. U - <goals>
+ @6 i- g) H& d0 c4 s - <param name="goalCount">30</param>
3 q. U- M ~1 Q7 [ - <param name="goalString">Monsters on the Windy Hill</param>
% b! G- v6 S; N% A1 P; k1 k. q/ d) S, @. g - </goals>- w: v! n. @! o2 M
- </quest>
2 {" ~1 B4 d% z! V
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:/ ]) `5 {+ A$ Z( w F) G3 A
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.
7 K% `% R7 ~; a; N6 N. L- g 2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:
3 R6 U' j' G8 w$ T( k/ m: d3 G- z! z! [2 u; t
- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.
" V2 K0 a- i' E: @4 ]$ K 2.3. Тег <conditions>Этот блок определяет условия для начала квеста:
$ G! Y3 y# h7 [ h" h- m+ ]# E- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.4 i; |1 q6 w( W P) ]# N4 ?
2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:3 W& e# z( E* y
- <items> — внутренняя секция с наградами в виде предметов.2 k1 t; o6 I- k/ o
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.
/ G6 P- a% K9 E
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.
: _8 p( Z% b H$ K5 c1 X; ` 2.5. Тег <goals>Этот блок определяет цели квеста:5 m; _- X' m c$ I/ q
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
- I& I6 h! x3 m' s7 Q. \
3. Пример полного квеста
9 S0 s2 N& M9 V! Q2 M& q$ u4 B! U5 F
Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:
2 x8 |0 [/ _. C5 m/ K! F- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">6 Z7 T) p2 D1 V' a8 c
- <locations>
" B# B" y/ v/ m - <param name="startLocationId">1015</param>
0 [( u$ ]5 r1 P+ j6 j1 O) x" k0 ]0 M - <param name="endLocationId">1015</param>
]+ q$ W- Y+ p9 n - <param name="questLocationId">1020</param>; ?) K! M* }/ y1 m4 e5 R' |# s& k
- </locations>
% W. h R' q9 s% w - <conditions># S7 M/ H$ h- r9 A/ j
- <param name="preQuestId">10099</param>
9 r2 Y) v/ ~9 N6 b6 C; g - <param name="classIds">1;2;3;4;5</param>
. l! M) e. T0 a& b" U7 Q8 A- s" I1 I - </conditions>" Y4 V5 j; I( o! Y
- <rewards>
; G8 d* m/ W% L$ q$ ^9 M - <items>+ n$ }1 S/ m# u& t( w
- <item id="57" count="50000" />
4 Y5 U! U( Q/ x: ^ - </items>
$ V" l- M- E7 q% }# r# y' i - <param name="rewardLevel">50</param>+ t @( B) o8 l& E
- <param name="rewardSp">1000</param>( g ]7 S7 U. R7 v1 J7 u
- </rewards>
+ c: D" {' ~" q" h/ E - <goals>) x8 u7 x' E; E+ _" q$ \% F
- <param name="goalCount">10</param>
* Y$ D5 b1 J8 w& q1 } - <param name="goalString">Demons in the cursed forest</param>; n) R: B' f" p6 a) | i8 F
- </goals>4 v/ L% S7 @" \% V0 c9 o+ s6 [
- </quest>, y+ y2 M6 E! p9 C" V& E
Скопировать код Здесь:* j1 ?: I$ b; S# h
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
' x0 V2 q! Q6 F+ ^
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно., t1 R5 Y' S( e; {8 o n
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.
- L8 o; y# O$ V) S
M8 M& T3 ~0 t H, W |