Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
7 {5 ?. {& w! H7 S0 h: m
9 V4 {/ e; d8 b( z- q y. A$ x
/ o3 J V# J5 `5 B- {# X" }Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.: d, Z4 @8 X1 ?- ?
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
, i& [2 X/ ]( A3 d' S: uПример записи квеста в NewQuestData.xml:& W# D2 ]" G% B7 m
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">8 i! v) Z- {5 w& U/ u) l, [
- <locations>
- g4 Z. T; R: o! H - <param name="startLocationId">1015</param>7 I/ d* \0 E# g5 [; P9 x: f2 d9 |
- <param name="endLocationId">1002</param>
6 w+ X; d/ i3 Z8 m4 k/ j4 v - <param name="questLocationId">1020</param>2 _% @% r5 c. z+ e4 X/ c e" O
- </locations>( D2 ]: ?7 V0 `' @
- <conditions>& W& U( z0 Q/ S4 I! \' o
- <param name="preQuestId">10019</param>6 w5 N r; m; l W8 Q
- <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 K8 m/ V) Q' w* |* `( S6 d
- </conditions>0 O8 c! N) ? L! S6 s0 d; M5 |3 `
- <rewards>5 v& }) V) e' f# s/ m( W* l
- <items># k9 c7 n9 ?4 m+ ?6 {
- <item id="57" count="240000" />
4 p) R# p) K6 r# y! G - </items>
( O- I' \4 x& G0 w - <param name="rewardLevel">76</param> U' c# K; i9 h5 { F9 g
- <param name="rewardSp">84</param>
: l" V5 f3 z) |2 J6 _ - </rewards>
1 E# M4 f# u3 C - <goals>
6 w# w: |6 F$ v$ M% F7 b5 I - <param name="goalCount">30</param>, }) `/ a2 [4 K
- <param name="goalString">Monsters on the Windy Hill</param>
: N* A2 C$ o/ g% X9 W, s - </goals>
; w! r- B" J j4 _0 B# n9 l - </quest>
- H" A5 F! i6 ? t% w
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:0 J. o; C% [. |+ N; t% p% z
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.
, X; z, X/ I5 s( z) r 2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:4 z+ E. r; Q% F" {6 K% Z
# ~# j2 N$ l, n4 Y! k) G, y
- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.
- ]$ n0 j- O p4 F, s; ? 2.3. Тег <conditions>Этот блок определяет условия для начала квеста:; E6 }7 s* c" P
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.
1 T6 V/ R0 P% I8 @6 j5 f 2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:/ t B8 [+ ]6 T, Y' P5 ~ G- j6 d4 l
- <items> — внутренняя секция с наградами в виде предметов.+ d6 r- e! I/ U2 G0 O8 o
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.
" _- V) j4 f+ _4 f4 l. a
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.
L0 Y$ d5 G, D* Y 2.5. Тег <goals>Этот блок определяет цели квеста:; z2 s! L$ ]: Z# l% h$ W( w* I
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
. ] `. w+ D. G8 r, b
3. Пример полного квеста* }9 r4 P5 v+ D
! c. t$ n+ c% b$ p3 {% B' \3 U6 fПредположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:$ l7 p D( E% j" w1 }
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
' y) U) o$ u/ t* N2 d" J - <locations>
! a( @) l. V8 b8 o - <param name="startLocationId">1015</param>
) {- ?4 n& a2 \. a' c2 q4 K - <param name="endLocationId">1015</param>
6 S# g; `5 O. e: \5 N - <param name="questLocationId">1020</param>
9 m# C9 h* d: @( L3 F - </locations>" M7 n7 m9 n. T. X
- <conditions>
8 C7 R# ^2 l) V - <param name="preQuestId">10099</param>2 H- a) f4 x0 }# _" |! Y6 E8 p
- <param name="classIds">1;2;3;4;5</param>8 \' f3 N- n* V1 U
- </conditions>
) R1 j! c7 P7 i1 g: U - <rewards>
2 c# \6 ^. v0 D - <items> ?1 O2 q$ X( Y/ v$ Q! W' K+ A
- <item id="57" count="50000" />6 w8 `3 `. |/ C0 D/ p! k% @1 B, P
- </items>- L2 o' `4 w9 J( D" X8 F6 m: z
- <param name="rewardLevel">50</param>
; V1 j3 ^9 r/ f9 N D+ @ - <param name="rewardSp">1000</param>8 ^3 K2 g- R6 r1 P# n* O4 e5 b
- </rewards>
7 b3 M) t6 m/ i0 u - <goals>
2 U& G& w* r& F - <param name="goalCount">10</param> S% B" S) B2 a" X6 g
- <param name="goalString">Demons in the cursed forest</param>. h( J, ^* Z5 H+ F& C( \4 n3 f! ` K. |
- </goals>
) ~5 g# H. L6 R2 Y) {/ F% S z - </quest>
+ a+ F- j1 R: a! l
Скопировать код Здесь:6 g/ {0 X5 S% c) |" X" v
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
- V, s) f$ u8 t( C- K
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.4 H$ j; c) z3 S9 r# K5 O* V0 ^5 d! H
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.3 g# j0 q. z4 g% I
6 [- w* \' B* f- P; u3 Q |