Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
2 r9 |0 w3 _% ?) H8 i) M
/ u6 Q J [4 J3 W4 C% G# O' u" a
% t3 _: c, F! a, t8 {6 iФайл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.' i& u# t" y. p! w) K0 ^
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
* |. R4 C- B R% l6 ~8 NПример записи квеста в NewQuestData.xml:, k; q2 }2 g5 h* _" G: ?3 [) _, f) Z
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">: S2 W3 U& p& d: e: E/ v
- <locations>! M1 i. w7 N+ L
- <param name="startLocationId">1015</param>
T- [' D/ p# [/ g- c - <param name="endLocationId">1002</param>
3 F) @; E3 ~# ~. e& ?8 z% u - <param name="questLocationId">1020</param>* A( W6 l5 n m! M- ]5 Z
- </locations>: m: [8 |! U0 R2 W; }7 ^$ N
- <conditions>
( f; X3 J6 ~6 I - <param name="preQuestId">10019</param>
3 v3 V( k1 P! b# {5 Z6 M - <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>2 m) @7 { @) X/ ~
- </conditions>
}, F0 m0 g) }. y: V7 l. g8 L @3 m. F - <rewards>2 T$ Q. r, J; B, H0 g
- <items>
8 M) H# Y' f, v, v& c - <item id="57" count="240000" />0 ?# z( L2 \' S8 Y2 F- L
- </items>
0 I/ D) p1 F1 `4 P0 I ~9 z4 C - <param name="rewardLevel">76</param>
) v \2 y' @1 _9 Z% W" } - <param name="rewardSp">84</param>
- a) E( L; ^$ x7 N - </rewards>* h; s3 H8 e2 | `4 o
- <goals>
) |+ X' J2 A: l5 s; \ - <param name="goalCount">30</param>0 T+ W2 L5 ?2 H- a6 s
- <param name="goalString">Monsters on the Windy Hill</param>
% e, H9 i5 p2 ?! O4 u - </goals>
9 y" `3 h" _' M( U - </quest># g' L1 b* v% f2 g7 k: B7 m
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:# ?4 w o/ y1 B | f6 x5 ?! t4 S
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.
2 q- Y7 O2 k- X 2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:* l5 W1 R; m) r& U) O
" i! M( H- ^& B7 A" O
- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.
/ K5 o& e9 N! F+ |" i6 [ 2.3. Тег <conditions>Этот блок определяет условия для начала квеста:. M* z, V7 j1 b9 v, A
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.9 x9 o- T( N3 ?1 U- w5 Z4 {
2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:
" t- H. k! l' X _( D+ ]1 G- <items> — внутренняя секция с наградами в виде предметов.
2 \, m" m9 a. s" M( N9 Q- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.
( p1 R; H9 F% e+ A) ?5 V5 a
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.: H4 X" ^) s, {$ v
2.5. Тег <goals>Этот блок определяет цели квеста:0 ~0 l8 n- H, W0 p) ~# p( |. p1 z
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
# a p2 W3 C8 | X
3. Пример полного квеста! a: ^5 h) ?2 T k( t( n
6 z9 A p7 T. s9 |: @Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:
5 D* M/ d( d, P1 ~0 i, }% m! T* ]- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
4 D9 _+ {9 c' S3 {7 k' e - <locations>
$ h7 P" X* _% d0 u( G - <param name="startLocationId">1015</param>; o" {0 X3 `9 d
- <param name="endLocationId">1015</param>3 ?# K" Y3 Y: \5 `3 F. ~
- <param name="questLocationId">1020</param>2 X9 M! K4 @* o2 o
- </locations>
5 W: w3 d f( M4 z3 T" b3 s7 S# C% P$ ], | - <conditions>9 ^+ [- Y1 V1 S0 t6 P' |) w
- <param name="preQuestId">10099</param>9 }& @5 P( e+ H. V
- <param name="classIds">1;2;3;4;5</param>
! S5 G: ]# u- t9 Z) G4 F6 C8 x# | - </conditions>
5 |1 ^0 W [$ ?! Y/ u( C- I - <rewards>2 |4 ]. n/ S; o1 a* P
- <items>
]5 q: [& a9 [" e5 o( U. [' _9 | - <item id="57" count="50000" />
; E: x8 o C9 b, W% J: x9 V - </items>
' j2 z+ w: D/ e( K, F; l0 S5 b - <param name="rewardLevel">50</param>3 {0 w& D8 }/ a( w+ [: e
- <param name="rewardSp">1000</param>6 H% X' G; ~+ I" R* S3 a3 }4 v( P4 P5 l
- </rewards>$ D% {0 T+ I; a }! S
- <goals>
`9 e9 B1 Z9 [3 E - <param name="goalCount">10</param># H8 S7 f7 P B
- <param name="goalString">Demons in the cursed forest</param>
( {" B# j# \& }* h' M' Q - </goals>' {9 {! y% ?6 w# Q! B l; I& t
- </quest>
& v' n/ M% B$ Y: Y1 _5 J
Скопировать код Здесь:% ^6 P9 s7 ?9 g R6 X: H4 h
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
- R6 W/ g9 T) ^2 b- H B, ^
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.
/ }9 U3 q1 x3 S' J9 d
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.
& \, Y* x+ X% V' P) `. }9 [/ \9 `5 o4 B
|