Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
8 P) |, X; M" w1 @* s" T6 J. G
' \! V( e+ p' S' V* I/ k- [1 l$ c) c* ^$ [* t3 n* l
Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.0 j7 c1 E p! \
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.; i$ @, ~+ L+ _9 B# N( |) G
Пример записи квеста в NewQuestData.xml:2 ?. `: u4 q) ^& h r3 h: D
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
, \% }! m; \( w! X. N9 ~1 P9 A8 r4 X - <locations>
# b" y* |2 V: k - <param name="startLocationId">1015</param>7 i. R$ M7 Z# t8 H3 G" |- ?6 @# j
- <param name="endLocationId">1002</param>6 x# v( o7 v$ i, e4 z0 o6 N
- <param name="questLocationId">1020</param>; ]( z- M% z/ N3 b- S& c. W
- </locations>, u0 J( c# m7 e, p) U
- <conditions>! u! V- Y( R8 n# e8 ^/ k
- <param name="preQuestId">10019</param>
0 I/ t9 j3 d* Q( 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>
( }5 r/ ^9 `5 B2 O - </conditions>
: e& z% S- x- k8 g8 n& j& ]' @ - <rewards># f6 ^7 n ]# S! Q2 a* m1 g
- <items>
6 R) b* [5 v0 r1 W - <item id="57" count="240000" />
# Y6 q, F5 |0 }1 c' c8 f* G% [ - </items># i' g6 ~( c2 ]2 e7 f# F
- <param name="rewardLevel">76</param>
& S6 ?. L/ U2 {1 F - <param name="rewardSp">84</param>" _+ s( I* A6 ?
- </rewards>
0 k9 l" y1 j" J; B! c c A' ` - <goals>
1 G! j3 |# E! y! |) a! n. K" }; ^ - <param name="goalCount">30</param>
/ `4 N7 R: Z" b - <param name="goalString">Monsters on the Windy Hill</param>( d& ^0 U8 h C/ K
- </goals>
& U6 ~. o6 e: d0 Q9 O - </quest>
/ p! l E5 W( B, r x$ l* D
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:
0 `8 k/ s" ^3 a* o; E- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.6 S3 k8 u1 I7 y9 j
2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:
0 C& V5 }0 M) s6 j5 t$ z: Q; b8 Z
' j1 x( d- ^1 D1 h6 a- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.5 n4 _- D+ v4 U
2.3. Тег <conditions>Этот блок определяет условия для начала квеста:3 B! w0 S* F* F. W, Y9 k
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.0 E; \0 f; }7 @& @/ v: R2 V
2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:
: u* o5 W) e B9 c+ e: a- <items> — внутренняя секция с наградами в виде предметов.# N$ r+ I3 l- b: \
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.
: |5 Y9 m( w. n7 v8 I" w
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.
) f; B$ b+ R' G# y 2.5. Тег <goals>Этот блок определяет цели квеста:& C, p$ M+ H4 x
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
1 u1 s5 T: O. ]( j4 m; ^
3. Пример полного квеста
. d0 j0 o' f5 o3 \- O; L, U% w& Q3 T- W6 ^! h7 h# c+ c# p& R9 S
Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:
1 u: g) B! X# l/ x, C0 m+ C' o* D- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
. m7 V" I5 X9 y- n+ Z" {8 K - <locations>0 L$ f$ ^( T- K6 T2 I8 [9 B
- <param name="startLocationId">1015</param>8 q( O! j; y" K" B
- <param name="endLocationId">1015</param>
" t+ p# w$ v, e) H4 n - <param name="questLocationId">1020</param>
$ f( p I( R2 z2 [( j+ r - </locations>8 a2 m' _/ M! f3 J V8 V5 t: E4 o( [
- <conditions>
5 G5 G, `+ p5 w3 @. I6 j - <param name="preQuestId">10099</param>
7 h( u* Y+ K% X/ L/ g- e - <param name="classIds">1;2;3;4;5</param>) n# ]8 d0 f! E* T+ O9 ~* R) T: w
- </conditions>
, _$ I0 Q" q! m( U, e: c - <rewards>3 F6 A R7 k# W% ]$ j) K0 X
- <items>' j( @. K/ k# @1 h
- <item id="57" count="50000" />
6 C) h( Q$ v$ H* V0 V - </items>
: j* T+ [$ V. W - <param name="rewardLevel">50</param>
4 J% w# W4 r- v' u0 M9 n7 x - <param name="rewardSp">1000</param>
) L) f: M2 ^! T5 ?5 z& k - </rewards>/ o m* B# L& m6 g: }5 h5 l
- <goals>
% ]3 a. A9 ~' B' w; t: l; j - <param name="goalCount">10</param>5 `# { p9 y" ]# ?
- <param name="goalString">Demons in the cursed forest</param>
. b: P2 S- k2 N - </goals>) v# {9 k" S2 C/ M7 P
- </quest>* {- i, [* j. F( g: j C# D0 [
Скопировать код Здесь:
$ j" ~/ i! r5 l. g3 `/ s" `$ u- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.% Q( V4 e3 Z6 H, f
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.
j6 v O. o. k( M F0 j
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.6 r* D9 x+ Q- f0 ^- B. p* f% W) T* e
+ @! J( l0 ?7 c) t1 }$ s } |