Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius) p4 t+ G% k$ ^# ^, `8 a& R
1 a2 O' `+ S4 S2 x1 ?" o6 }, \- z' e" n5 T" X! f, ]
Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.5 t/ Z, g4 N) P- C
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.* O A! ~: c/ e8 v1 G
Пример записи квеста в NewQuestData.xml:
4 H r7 ^: A* P% A& u! V! y! \. q9 j- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">$ L- p: X0 J' F) D; F
- <locations>, t) S- u9 A, W1 x
- <param name="startLocationId">1015</param>
, {2 n8 S( v6 G9 y4 m - <param name="endLocationId">1002</param>
3 w [/ l( p* ~! ]' H5 c - <param name="questLocationId">1020</param>$ ]! ^/ C( u! r- D
- </locations>
9 @' @) d+ e6 ~ - <conditions>6 c7 ^: F' }# l. s& A) n" L0 D
- <param name="preQuestId">10019</param># O% B' C6 A' \+ H8 g. F
- <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>
; ]$ |7 w+ J9 t' G - </conditions>
3 H/ y4 F% _ B# E! D+ q8 q& Z - <rewards>3 i1 g9 u8 _/ E& t* o9 q' Z
- <items>
2 j- B; |9 @6 f - <item id="57" count="240000" />
/ x! M0 U# V+ p; i' Q, t) O - </items>
. j3 r7 d; j, Q6 E6 v" h" O( F - <param name="rewardLevel">76</param>
; \9 `2 @7 |: r5 s - <param name="rewardSp">84</param>) B- Y9 |7 u, w, ?! A
- </rewards>& }! K7 C5 Y) \' S
- <goals>% b0 i6 A6 u( n K, i0 Y
- <param name="goalCount">30</param>
% R! @% ^6 W; p- \/ X4 K4 m, i6 Y _ - <param name="goalString">Monsters on the Windy Hill</param>
; J6 D, A1 { E) F) Z. S - </goals>
' L$ n% b1 h0 G* h" w - </quest>
& h" e8 I6 K; s' c i' g/ T
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:
+ }% t1 a1 x' o8 }. s6 b- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.# r! q% d5 m7 d" I
2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:
" B5 p( i/ i. i
! a& i* o% _. ^7 i+ q, ~3 m- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.
- N8 e& J, l( h$ ?+ S! g 2.3. Тег <conditions>Этот блок определяет условия для начала квеста:3 D5 y. T0 z8 X, @: m q
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест. t k: ^- G! U" \ }4 J& t" g
2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:6 `- d) u$ G6 m1 a1 g
- <items> — внутренняя секция с наградами в виде предметов.
% x5 e8 H4 `" j- u- Y8 A- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.7 K' U; z7 n8 f0 M; \
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.- @% ^( V: A7 V0 H) j/ ~
2.5. Тег <goals>Этот блок определяет цели квеста:
0 ^2 u7 W# O. _) v3 w4 m. j% \- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).1 K1 t; B8 g7 e0 R' J4 Q+ I: f
3. Пример полного квеста7 \, `* ?. _- k9 d/ v! P
& d" `7 H3 h* G' F; k7 G8 U9 WПредположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:1 A, J# L4 Z4 x; D9 s
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
; d+ X, w6 Q# \) q - <locations>5 w$ @2 ?0 \/ [$ h. b/ r6 v6 Q; @
- <param name="startLocationId">1015</param>
+ `8 ^+ P9 D# c7 L0 X! H/ S: T - <param name="endLocationId">1015</param>
& f. m0 p8 `/ z3 } - <param name="questLocationId">1020</param>* k/ m# Z1 J" s7 @& I0 z
- </locations>
( w. _6 D1 O4 g( ~4 q8 `% A - <conditions>
6 i9 l4 `9 Y" ]: n! _& F - <param name="preQuestId">10099</param>0 t5 |: I. i U
- <param name="classIds">1;2;3;4;5</param>
+ G" ^" Z$ i# `/ R/ _: _ - </conditions>
^/ r, R3 B& d+ [% A3 g, X - <rewards>
3 Y9 C% K7 Z" Z# I# N" Z% ~4 _) z3 ^ - <items>; L% ^- l5 Q" \
- <item id="57" count="50000" />
# a+ `9 D7 r4 V6 ~/ } - </items>
! Z, v# G9 E; z! M% t* S7 q - <param name="rewardLevel">50</param>7 T' \8 o& Y, P6 e4 R" N. F6 L
- <param name="rewardSp">1000</param>1 f, ?$ v' B5 m; `+ r
- </rewards>7 K, m0 s+ z, u8 k* D) ?) G: n4 K
- <goals>% e! Q4 R A, |5 d' d& E
- <param name="goalCount">10</param>- E' W4 ]2 K' g9 z
- <param name="goalString">Demons in the cursed forest</param>
4 |; f* @1 u9 @* w - </goals>
4 ~8 c; ]: ~5 D) J+ F5 E - </quest>; s4 R4 j5 W- l& c2 R
Скопировать код Здесь:3 p. A. b& w* ~
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.& M' e! x' v s7 V6 J
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.
( Y( J! y9 @0 a: w5 o
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере./ p6 L( f' L8 L2 \# I9 T% L1 F
3 D" G) d' v8 N |