Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
V) e9 F# j* e* D; G
8 ?: Q9 Q0 a' g- z. M$ k
, c: F& k# h+ }1 yФайл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.
3 x# B8 B& v! v: F6 V# P3 G, d 1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
$ {4 D3 K2 K! N7 k/ G$ tПример записи квеста в NewQuestData.xml:- f3 N5 O4 L5 b2 [' i: A* N) T
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
# J5 S# N2 F ]4 q j% V1 S* n8 X - <locations>
" ]( A) [/ i, B8 X& x - <param name="startLocationId">1015</param>
$ w1 {- Z0 P! C% T) b; _ - <param name="endLocationId">1002</param>
; }' Z: C+ d' U4 d - <param name="questLocationId">1020</param>
, ~5 N# f6 s+ v( {9 ?0 ^ - </locations>
; D5 C0 i- V+ y* w - <conditions>
( o, A, B/ _, E% g- { - <param name="preQuestId">10019</param> a% r* P4 b; C0 O# r) m5 @
- <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 b0 O- c3 O8 P% N0 p7 X
- </conditions>
T# U& t1 }) |+ f, B6 |" D - <rewards>/ S4 V; G- y4 y! J4 |% [
- <items>
4 ~" Q/ d" ~! @0 f: A3 [7 v& g: M - <item id="57" count="240000" />
1 r3 j, K; `4 m& A( k7 q+ f, t - </items>
& d5 {+ ]% h8 N5 l - <param name="rewardLevel">76</param>/ n- f# r- C4 P) Z1 q% t/ i1 ?
- <param name="rewardSp">84</param>
& l& x5 ^0 q+ _$ u: L0 ? - </rewards>
, V+ k, B/ G/ w: X m w6 D - <goals>
+ I7 a; h; |8 { - <param name="goalCount">30</param>
; O# A& Z1 Z, \/ Y' r6 `# V5 C( s5 O - <param name="goalString">Monsters on the Windy Hill</param>
5 z& p! t# k' Y% u Z" [8 @; q) r% x - </goals>) T- j# w1 Z q- h% i! X7 J: y
- </quest>1 P* x p/ V6 y3 ~. ^
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста: i5 n$ w$ B4 Q7 T
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.
3 R" z1 ]+ I" f) k' w 2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:3 }, K- I4 f+ h C) `
. X ^7 B/ _& o$ |2 |; S4 { y- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.
3 U' b% Q2 }8 p6 I: @) j# k; X% M 2.3. Тег <conditions>Этот блок определяет условия для начала квеста:
- `! O! I3 g9 S2 Z- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест., {6 `9 l- |* U% Y! V0 P
2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:+ i5 X. F' A" W' t i
- <items> — внутренняя секция с наградами в виде предметов.% w( o% q3 L( T9 l; u( q3 A) w4 j
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.
# h+ w( {* c1 M% S9 w6 e0 u0 I9 @
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.
/ B$ \2 t! v3 i- V# U4 Y 2.5. Тег <goals>Этот блок определяет цели квеста:
5 ` b2 y! g$ E$ _- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).2 A7 B1 @ d" T, c1 b) o
3. Пример полного квеста
" V0 A" @- v% f+ Z- B! }3 P; V: N' W3 G, ^
Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:
E8 L) B7 C4 Y& o* W) ?" `- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
: k, i( y- O S# v - <locations>1 ~, u8 a. T; v: F5 K R
- <param name="startLocationId">1015</param>, [3 @/ q% p( R) p0 O
- <param name="endLocationId">1015</param># Q( {/ A' O: @7 K0 M& a& O) l
- <param name="questLocationId">1020</param>' P! W3 M) E% P. V/ k. H9 N
- </locations> f! x6 ? n) B, ^% N# T; l
- <conditions>
8 b Q. D3 H. L* X+ ? - <param name="preQuestId">10099</param>
8 ^7 H+ Y; s r* u - <param name="classIds">1;2;3;4;5</param>% `0 g) \1 `) Y: v3 c& b+ h& V7 m
- </conditions>' U4 y! y! ^$ u2 H* N
- <rewards>
! B0 u4 }1 U, I& d! P: [* n. \ - <items>& s: Y1 k+ Y5 t
- <item id="57" count="50000" />
( I6 d" p+ G9 ?2 X5 ? - </items>
4 ]% n \9 T* d' Q4 ] - <param name="rewardLevel">50</param>. Q/ N1 h2 Z: J- t+ t) i a0 `
- <param name="rewardSp">1000</param>2 H+ z' S( q! d9 y8 e
- </rewards>7 o1 J( }' e/ j2 [7 y5 e
- <goals>
$ x- y# s" O5 m7 l. y1 u - <param name="goalCount">10</param>9 ~# V: _& z. M6 t4 O+ l+ H, R
- <param name="goalString">Demons in the cursed forest</param>
: l' ^ i* t E( e$ E3 v - </goals>
6 J. O' i/ _ ]- i - </quest>" p$ k% s8 W" E8 u3 j
Скопировать код Здесь:1 v3 H4 l. Z) ?* K0 T, G
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
, A5 w' i/ [( ]2 S9 h6 [; Q
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.
- ~! w" c' @- \6 |! Z9 k) |( I$ i
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.
4 K3 a2 e, s% H- F
& z! d; T5 P0 |. Y9 u |