Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
8 O# Q7 [3 `+ V2 O- D
/ |8 Y3 g. u' q) x# r/ G; d- c! s7 z0 K+ X
Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.
0 ^. `4 o; T$ m: I7 J 1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
- d9 ~8 k* Y) C! Y$ r2 FПример записи квеста в NewQuestData.xml:0 b* g8 k# x R7 t+ K8 T# Z& ^8 i
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">6 [6 a8 o9 K$ A5 N0 n+ f
- <locations>. Q( K4 a9 L: f) s# _
- <param name="startLocationId">1015</param>) G5 j0 \5 W: j. y
- <param name="endLocationId">1002</param>! G5 K% k7 ~5 h! x2 w4 _
- <param name="questLocationId">1020</param>9 t f8 n4 m k
- </locations>
2 W2 \; v+ z% y( `& c9 H4 v& X - <conditions>. [( M7 I+ H1 o9 w' u
- <param name="preQuestId">10019</param>
1 R" B2 u4 p, B" r" q% V - <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>. y+ _. N% i' c- G
- </conditions>( H" W) } x1 U# `+ t
- <rewards>. H2 a: Y1 j! V$ [' M' ~5 K8 Z
- <items>9 F7 R1 T- F4 d
- <item id="57" count="240000" />
" J2 _3 j( n; J; ?( s( w. C* c - </items>
! q' O6 v& |. C- @ - <param name="rewardLevel">76</param>
9 \3 q2 p, \: P# k$ r5 T, g/ I' i - <param name="rewardSp">84</param>0 B% E5 w/ Y9 d! j& A S
- </rewards>
% W" v. b* ~# o6 V8 L! E2 D$ @9 }- y - <goals>
# o1 O+ H- j. E& F0 D6 u - <param name="goalCount">30</param># f2 L8 C' n5 R& p
- <param name="goalString">Monsters on the Windy Hill</param>
" }1 a$ C- u4 Y8 k - </goals>; A% f: ? {! A$ X: N
- </quest>' B' j8 \4 Q7 l' S7 w' d- `
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:
6 k) @ c" t) Y7 `) i2 R @- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.
9 E( ^4 a+ N2 v- l/ X! s: w& m' f! b6 `2 ~ 2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:
* m* l7 s1 g2 s+ v
4 X7 E1 X7 U6 D/ Y9 h7 V0 L1 O1 ~- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.
# f1 |5 `' A1 l8 Q7 D$ f 2.3. Тег <conditions>Этот блок определяет условия для начала квеста:
4 I% b/ ?! u4 L! J0 p- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест./ L- c, ^0 b" t5 y7 ?
2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:
9 {1 O$ @: X3 D4 l5 \ u$ `- <items> — внутренняя секция с наградами в виде предметов.3 x5 h& R5 q5 }$ n5 e7 L0 x7 N
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.
) N, K: `) \3 `* Q& }
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.
( G8 }% }" w7 s! g5 U+ ~ 2.5. Тег <goals>Этот блок определяет цели квеста:0 k# p- I% f8 q& ?/ U( `
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
1 G, n- W8 Q: u; z
3. Пример полного квеста
; T+ X- |1 d$ d5 d- x s0 D" U& [. x+ H- G) b- ~/ X# J# t+ F
Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:4 i" Y" g* Y9 L
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">7 [7 m( M! n/ H$ Y; G7 z
- <locations>1 n% f( m7 p: f: } {7 s% d
- <param name="startLocationId">1015</param>
+ o& }2 a1 T. g! T1 M/ w - <param name="endLocationId">1015</param>+ a5 t+ x: Z% U' @3 T+ t
- <param name="questLocationId">1020</param>
" D, {3 ?7 `4 R* ^ - </locations>
+ o1 ^# v+ p; V; C" Z+ U% H - <conditions>
+ M9 P/ d3 p) g+ ~2 B - <param name="preQuestId">10099</param>: N* f4 N0 |7 T6 r5 x
- <param name="classIds">1;2;3;4;5</param>
& c1 ~, o* Q* c - </conditions>+ I' `# X, M( F9 ?
- <rewards>6 R/ n6 e) S) W
- <items>
, x% y n. _0 d1 r, D1 x - <item id="57" count="50000" />
( v; |, d1 f! P0 y% q - </items>
- h/ ]# \, u0 O1 A8 R: m - <param name="rewardLevel">50</param>5 w. P4 I; P7 \! ]
- <param name="rewardSp">1000</param>
7 A# H1 [+ u j7 t, u) H7 N - </rewards>, `' }, V; Q% l9 N& L7 E( |! @' _
- <goals>3 {& B& h4 [7 r3 S/ n
- <param name="goalCount">10</param>
- {0 i0 u+ c+ a [; r - <param name="goalString">Demons in the cursed forest</param>0 i6 d& Z; N4 k0 v: {& n
- </goals>
' J+ b- l9 y! q F# I5 Y; { - </quest>
& y( U2 c% j0 a
Скопировать код Здесь:7 Y6 W5 D( o$ \- c: G+ }: m/ ^. z" R
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
5 l! n7 F% i! k
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.
+ D8 i2 i4 k+ p: R
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.
6 P8 u, ~; I- o6 @6 w F+ n- f. X$ @" N5 Q4 A
|