Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius$ Z, P0 o# L( t( n1 `& x# O
: a+ [4 g) L7 ~ T( Q' g
! B% [8 u( @* A/ Y% r0 {Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.
- k, _9 L# [( u6 A4 a5 x6 ?' q 1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
8 ^& `! X3 ^* [1 o RПример записи квеста в NewQuestData.xml:# w; F- z2 N8 z2 z0 w
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
! L: w4 z% T/ n) F1 s$ a! m - <locations>
* H0 ~' S4 ]" ~0 N6 l, p' D - <param name="startLocationId">1015</param> h, ^( U+ `4 S$ |+ J) k; c
- <param name="endLocationId">1002</param>7 L& q" J, R7 G) y
- <param name="questLocationId">1020</param>
6 `% Z# }0 ?9 M5 Y - </locations>7 w; R& R- a+ y" H
- <conditions>
( S& O( M( H: H9 L - <param name="preQuestId">10019</param>* f N. j1 v7 M' ^- u# f+ g
- <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>
4 P& O/ f8 a! E9 ^ ~8 k5 @ - </conditions>4 R/ c& X* O& ` W3 O
- <rewards>
. y) k8 E2 d5 _" K8 U - <items>) D6 B0 p' C) K" |
- <item id="57" count="240000" />
- j7 |8 s8 ~5 Q6 o2 l - </items>
% M$ b# Z4 L# \ - <param name="rewardLevel">76</param>
3 u8 R" ~5 ?+ i6 S - <param name="rewardSp">84</param>
# O* t& R5 r% Z# o' Z% r n, ~/ A - </rewards>
& i/ S% M+ B9 S - <goals>; K6 C' ?2 m4 |. {# [9 h
- <param name="goalCount">30</param>
* \8 h& X# B: l' [9 { - <param name="goalString">Monsters on the Windy Hill</param>
8 X4 a0 i, t9 A. H - </goals>7 T: Q: @( G& R3 `
- </quest>6 z( V+ `! m$ P. z
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:( K' c) X1 K; z2 h' k7 N5 l
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.' S% ?- O, [. ]/ l1 S! q
2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:( M6 R9 U9 f% D. X. t4 {( ?
' J$ p, Z' Y5 M2 M- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.
: g0 u$ Q! D6 J S* g8 B: O5 z$ o 2.3. Тег <conditions>Этот блок определяет условия для начала квеста:
/ u, }- @5 n+ \' B1 g2 f1 y- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.
. C: |' P4 `& Q8 a 2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:
# j$ X5 t1 Y. `# z5 S9 p5 O5 P, ~) Y- <items> — внутренняя секция с наградами в виде предметов.! y% M" v) E% [6 y7 F4 K
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.. T3 [# R& s- z4 G
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.: e# _+ B% [( u4 J0 B1 N
2.5. Тег <goals>Этот блок определяет цели квеста:
' `. @3 i4 Y" g% z4 j- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
7 d- c& ?2 K' [ E# `+ Q2 B7 }8 q3 [2 {
3. Пример полного квеста
3 g/ n0 b% k+ P
+ @$ L9 m2 H; ~6 }Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:
4 n+ j- ^/ b7 @5 P- ^. W# y- ]! y, \- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
' f) y! W/ W+ Q( N5 C$ l% ?# b0 C0 j - <locations>
& U% l! |$ }/ T+ [ \& r3 e - <param name="startLocationId">1015</param>
v3 ?. r% m; V - <param name="endLocationId">1015</param>
' |" k! y: i" {3 T - <param name="questLocationId">1020</param>
! `3 }# [- @# C& s; c& V: { - </locations>; Z- {2 L% C* V* m
- <conditions>
) u) i( S( R- ~) ]* H. ^; z - <param name="preQuestId">10099</param>8 F7 b8 R) E# Z1 x
- <param name="classIds">1;2;3;4;5</param>. C- P4 {% k; Y) V
- </conditions>, z- n' a Y; A5 o3 \# C- `, O
- <rewards>
3 D |- b1 x1 ^9 _9 G4 h) O - <items>! [1 o' R5 n* }% P3 `! o* |
- <item id="57" count="50000" />
[! `2 F/ A) H - </items>
& N# {2 l& y% _! ]$ Q1 s - <param name="rewardLevel">50</param>
) W9 V$ Z% H2 ~: V1 l - <param name="rewardSp">1000</param>: o) E; i% ~9 e9 M6 ~
- </rewards>
' k- [9 g% s: ^! B/ p9 ]+ H - <goals>
. Y3 l5 L; f b& N$ s' Z) k - <param name="goalCount">10</param>
$ j' J, j3 L' k7 W5 Z - <param name="goalString">Demons in the cursed forest</param>/ c% {+ Z& g6 y$ g
- </goals>
* a Z" I* V5 q0 B( c* b' w - </quest>
+ _7 W; a% N1 N" N- Z7 Z( M5 B5 h
Скопировать код Здесь:. h% }# `5 b- B% M, t+ \ _. z
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.. h( X! [" Q N# J# S }
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.! G& u: S0 F' J( y# Q
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.
- K& v( {; F2 i6 Q9 i+ ?. w% i% G
$ O# s% p6 N# m/ Y8 U |