Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
( U8 n3 P0 {5 L& w# q/ n. s( @$ `2 x
* y% S3 v7 E- f
Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.
6 A8 D, J/ E: V" ]/ f8 J# I 1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
6 k+ n# j( ~7 f2 m2 @, g! GПример записи квеста в NewQuestData.xml:
7 Q7 |9 Q# m: W1 _$ K- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">- c+ ?7 F1 H. @# G5 d
- <locations>/ K7 _7 ]- n* `
- <param name="startLocationId">1015</param>/ a, v& d! l9 `' i6 y
- <param name="endLocationId">1002</param>8 \$ i: E0 S0 s3 O8 Y% o( g. w% S) L
- <param name="questLocationId">1020</param>$ c. q4 u i4 z! s$ x" C
- </locations>
1 M7 t( t+ a h( d2 |! J - <conditions>
+ u# G9 d' c H. w - <param name="preQuestId">10019</param>
_& R+ e; c/ l' }( `- E1 W - <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>
- ^/ h) n: B+ `; s# p% I0 C - </conditions>
# m: z: o% A, W4 O+ Z - <rewards>
0 x8 c8 ~3 A) }- r2 I% Y! Z | - <items>. z5 S$ i2 g6 B# _; U" t
- <item id="57" count="240000" />% m' a& g+ o1 E* c! O6 N
- </items>% @8 P! j- q# }+ o6 d
- <param name="rewardLevel">76</param>
A6 g/ ^# b/ L$ D4 e. U( D+ L1 F - <param name="rewardSp">84</param>
! M8 y8 K* S* @: G& N - </rewards>
# }. L$ o6 l6 F% A - <goals>' m: D. k5 g6 T4 \& w" ^5 N
- <param name="goalCount">30</param>
2 [ b! G: c. r' E2 \ S - <param name="goalString">Monsters on the Windy Hill</param>- H1 a4 N" F- ?3 w
- </goals>
8 C, [8 C$ J5 F5 B$ C - </quest>2 p3 p, @- y% K0 k8 I1 t# n
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:3 J+ m- h& p, t* V: |9 s& A
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.
& F4 t. `$ K5 [ 2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:/ l* q1 m; k: j3 r2 a- N: U
2 w/ Q6 H7 |/ s' Q
- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.9 g/ Z" w% |! j! f b
2.3. Тег <conditions>Этот блок определяет условия для начала квеста:: f. L# @; u4 B- b$ ]
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест. ^, w4 w5 ], f6 Z
2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:
3 W1 A5 y& j, ]- <items> — внутренняя секция с наградами в виде предметов.. P: n) E4 _* m8 l# \% u
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.. b! e" z8 [" \+ a/ s- i. p
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.
2 m* y6 ]4 Q ~2 R" p 2.5. Тег <goals>Этот блок определяет цели квеста:
2 A+ R& E. ?2 b& Q( n" U* D- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
9 ?3 u4 h8 R! z2 I+ r/ v
3. Пример полного квеста
2 ~! Z" i0 B; g& K
1 b6 \( @8 w2 O1 g- FПредположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:$ f$ \) M% y5 b! I0 }( c& n
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
1 _- O. u# J% C. g0 |) q - <locations>! d4 o9 Q/ e# @3 B$ r
- <param name="startLocationId">1015</param>
& G0 |* W- [$ T' r# U6 C; M( k - <param name="endLocationId">1015</param>/ x7 y* B3 V$ A
- <param name="questLocationId">1020</param>2 e' Z! B, R3 U9 ~
- </locations>, a! }- h! f3 X$ b h
- <conditions>
. M! S$ Y+ W* a+ X) d+ j - <param name="preQuestId">10099</param>
* D! O: K' L* Y" w% o# }0 n2 N - <param name="classIds">1;2;3;4;5</param>
6 K8 W7 _% Q8 a; U8 ~ - </conditions>2 [* l; g$ [( b, ?
- <rewards>' {6 f- o! R" c
- <items>
* v% b" D. e7 q+ m/ h" U$ { - <item id="57" count="50000" />- ], b% G* Z, b
- </items>
7 p+ R# g) a) f- @. l5 p- j - <param name="rewardLevel">50</param>7 J8 y* _+ o6 [
- <param name="rewardSp">1000</param>5 I1 |5 U7 B4 a% {
- </rewards>+ u" S: {% J. W! J, I$ H
- <goals>
p, T( Y3 r0 _5 c' m1 @8 k - <param name="goalCount">10</param># a9 Q( T5 Z* V$ }
- <param name="goalString">Demons in the cursed forest</param>3 `7 X! b3 W( C
- </goals>
# } V1 C+ d! R( W. M - </quest>9 l: F3 e+ x$ ?; N; g7 }2 o4 _
Скопировать код Здесь:
1 _& V2 Z2 q+ s- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP." Y8 r% \* g, T) [4 e$ o
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.9 O! z+ [6 c# Z" B7 p. F
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.7 \1 j, e% n3 u! E; d
( J/ \0 Y7 }, e1 e8 U
|