Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius' n, W. u# [& y3 ?
/ w2 B7 Z0 c7 `7 @3 q: ?. m$ d0 I/ Q
% m: T9 ]1 Z% y3 GФайл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.
: ] Z! t) B" I' ~ 1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
( e E! l$ F2 M9 _. Q/ R1 @Пример записи квеста в NewQuestData.xml:* R# K# ?- w7 E
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">% }# L3 j7 ^* G
- <locations>
3 T# e' F4 e3 g# z( Q! m: M - <param name="startLocationId">1015</param>5 f A2 _2 t! ~6 N) i
- <param name="endLocationId">1002</param>3 b% Q. X) I8 J. l7 W
- <param name="questLocationId">1020</param>/ V: f5 P# p/ I: C6 t" Q
- </locations>
& A% o9 l, ^& C8 U - <conditions>& V* \2 G. ]' Y' B6 v! j' X
- <param name="preQuestId">10019</param>1 O( E. D) O4 L& N, p1 C t
- <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>
: _* ]! S8 q1 J" @- g - </conditions>
& `* J* m* Z8 ]' }8 W" X9 M3 U( F - <rewards>1 _8 t5 M: {" a3 g. t) B
- <items>8 b# c& O% w: a3 C! E
- <item id="57" count="240000" />' A3 a! t2 h( d6 H% e* D$ l! l% o& @
- </items>2 V2 B5 E4 V& y4 q
- <param name="rewardLevel">76</param>
+ O4 D0 `) Z. I, y - <param name="rewardSp">84</param>
4 y" V/ r; G) q- w { S3 Z6 r - </rewards>8 u5 b# G* I& r! r, o
- <goals>0 Z! e5 {( s/ H, v# D
- <param name="goalCount">30</param>
" A" w& L# _9 p2 ]0 D - <param name="goalString">Monsters on the Windy Hill</param>% y& u! _. h5 |# i; a5 y, W
- </goals>
: b, `9 M1 L4 S, `% g' X - </quest>$ `6 n& e O0 w# m: E; [
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:
! o2 S1 [9 @) J- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.1 _: q& [ I h5 j' Y6 c9 j
2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:
; {* c6 l4 P& w$ ]/ e
" o4 o& A8 w4 }' N% E* q- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.1 |% ]8 ?3 b9 m9 |
2.3. Тег <conditions>Этот блок определяет условия для начала квеста:& e7 U9 H1 `) s% U' @2 G; s
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.- n' y7 K9 X' d
2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:
% I$ l$ I; ?$ b- x6 b( r, o- <items> — внутренняя секция с наградами в виде предметов.: E8 H# y: M& U I8 f+ c" N
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.
4 H" p0 s& S& M* B; V1 c
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.
+ y$ ~2 O1 f( |5 {: t& T 2.5. Тег <goals>Этот блок определяет цели квеста:! b1 a' b0 u( a6 D9 I M: ]' R9 k
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).7 O7 V! _1 `2 r6 c5 _' C* ?; ~+ `7 @
3. Пример полного квеста8 y7 @- g$ f+ A% Q% k0 N* T
, O7 \" m- Y& {$ o9 t7 S
Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:
; D$ X2 l$ y8 n; }- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">- b: I% r8 Z/ t/ Q0 A: t
- <locations>
( H' j9 c& i6 g; I( l d - <param name="startLocationId">1015</param>
9 Y: |& N* ^# l- G: R - <param name="endLocationId">1015</param>
: o- M' V/ {) f5 t, ` - <param name="questLocationId">1020</param>
$ T, }7 S: E* i8 k- b' f; r - </locations>3 Z' N0 O8 D4 D$ d
- <conditions>" e! m5 @+ n. q$ s# ^
- <param name="preQuestId">10099</param>
( I1 x4 @( q7 V4 P+ q - <param name="classIds">1;2;3;4;5</param>1 O/ s! M4 y! ]/ z+ r. y" b+ d
- </conditions>
, e: f# M- x, \; r1 P) R - <rewards>( X) E' d4 y0 ]9 y9 n9 X
- <items>0 X" J8 m5 W; d0 L( c
- <item id="57" count="50000" />
+ g# S [# O8 z4 ^) ? - </items>' q( h& i, V% y9 o4 R9 n/ a
- <param name="rewardLevel">50</param>
( @2 i7 ^( b& R9 I9 w, b [ - <param name="rewardSp">1000</param>7 S, _; L1 i+ ~. z3 T, ~- K: M7 H
- </rewards>1 A) z- i: b- ^
- <goals>
: K( O$ K4 B6 _4 i - <param name="goalCount">10</param>6 L5 i# M+ T# ^! q( P: [1 t
- <param name="goalString">Demons in the cursed forest</param>
; _# ?" K- j: h/ g# R - </goals>
4 u2 b# q5 I, X! x. K3 B - </quest>
/ s$ b& \# ^) G% B8 m
Скопировать код Здесь:
. X3 ?) j" n( X7 P5 m- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
7 O& W1 f6 c2 P4 o5 D# v! o7 z) T
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.
9 w9 W, P' ~! a8 m4 {7 `8 u0 @
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.* i/ m8 F0 y) x7 I8 x. L1 u
2 n; R6 G/ B P! S3 k
|