Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
; [. J% z$ `+ `7 O/ m' _) B
+ E: ] E& r% M, p" v8 ^* h/ k' X2 c, a k
Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.
& Y# C0 S* X \3 l 1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.1 O. H9 O$ h8 W; G
Пример записи квеста в NewQuestData.xml:( N0 M4 X b4 k4 y# [1 f4 ~
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
7 }( C: z7 \. _% h$ A' R: X# A - <locations>
3 X j! a' Y* X4 X- N7 M - <param name="startLocationId">1015</param>
+ s5 ?1 U& P( h5 B m! g: `+ { - <param name="endLocationId">1002</param>
% b2 y( j0 z0 o' j( I6 K* ] - <param name="questLocationId">1020</param>
8 p8 j. v" Y; Q$ s( f4 O; N - </locations>
/ v7 e6 }% E: S" l/ g - <conditions>5 u1 L* w; r1 }1 F
- <param name="preQuestId">10019</param>, G% @. G1 j& D3 J( I
- <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 F! N3 u; S9 w6 a0 L& s5 t - </conditions>
" b! z+ ?- C* y3 \+ s - <rewards>. y- V- \5 ^7 i+ q$ v
- <items>
1 Z% X: {( t: ] - <item id="57" count="240000" />' b" X1 j: O, q4 ^
- </items>
9 p/ k; q8 k4 h - <param name="rewardLevel">76</param>% g% v0 e5 `2 R; Z0 F+ M& |) C
- <param name="rewardSp">84</param>
! R5 i8 _$ ?" x. I: V6 h( M9 s - </rewards>
( }8 w! K% `$ A - <goals> j4 J* w1 c; }8 d0 l- g
- <param name="goalCount">30</param>* d( X; |4 ^) y( T/ D; ]* |
- <param name="goalString">Monsters on the Windy Hill</param>
6 K9 L5 W8 s/ z' }3 c - </goals>( k4 A* d0 B! X# c# C7 u
- </quest>. Q! N W; Y h: j
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:
' H. o4 ]5 M5 h1 _' A2 V- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.
% Z% I; }' V! Z7 C F+ a: C 2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:" t5 F/ i/ Y" c& }+ C2 Z
3 j$ S: Y; A$ q" }# Q
- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.0 ~+ h) {% l @ h3 }3 A
2.3. Тег <conditions>Этот блок определяет условия для начала квеста:* I' O$ @+ F; R, I. U& q
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.
( q' ~ C$ u( @ ?6 O 2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:; f3 b$ Z2 _1 _* [
- <items> — внутренняя секция с наградами в виде предметов.
* Z2 j' v" j# Q1 ~* A- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.- u' H8 F: q C/ |! F6 k
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.0 y; x9 E" F- S c- t/ ]
2.5. Тег <goals>Этот блок определяет цели квеста:4 f$ u/ q; t% G/ E# x
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории)." b" f* Y/ k3 F. t6 ^; j j3 q
3. Пример полного квеста: y; S. I, X& y$ j7 {
( @8 o. ~1 }7 B jПредположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:
% F- `% M' @- g* v8 j1 h& v- t, s% |- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
) Y/ r; ^& @6 {# I, x4 P1 U - <locations>7 m0 f* D+ T. F7 ~* m
- <param name="startLocationId">1015</param>
/ t2 u6 v9 f4 M% S! m; e - <param name="endLocationId">1015</param>
: F6 k* A$ o3 V; ?9 ?6 X. G - <param name="questLocationId">1020</param>; p6 f4 Y5 Z6 d
- </locations>
8 L, m# ?+ T8 `9 ^; t) v4 L8 o& h - <conditions>
8 c/ c( g; V5 b: @8 v0 o - <param name="preQuestId">10099</param>
7 U I# ~1 i8 q9 J/ b - <param name="classIds">1;2;3;4;5</param>5 h5 e9 ?3 w* T. b$ Y& H7 }
- </conditions>
9 x3 k1 B, c3 Q: m* ? - <rewards>% c- E, V+ z5 W
- <items>3 N1 V! E. z+ g9 y- c7 {
- <item id="57" count="50000" />+ `! ? p9 W' q5 W
- </items>& H# k1 m4 u& w+ I' U6 ]& o g
- <param name="rewardLevel">50</param>: j. K; E+ f# }0 ?
- <param name="rewardSp">1000</param>
+ o$ |+ e5 F K/ R) s# p+ O* F- S - </rewards># S6 ?$ {/ T! l6 ?) q
- <goals>
1 C; m8 U6 L; Y1 E - <param name="goalCount">10</param>+ w7 @+ B" r: J" j$ s
- <param name="goalString">Demons in the cursed forest</param>
6 a+ }# K) I& l* }& z) d% K7 E( z - </goals>& S$ T+ B5 I( [1 _: T& M0 E; c
- </quest>/ r( {- I3 s) ?) e
Скопировать код Здесь:
8 S8 O3 B, M: K# q) L5 {: b2 {- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
8 @9 w7 m' t. @" z6 Z L1 l
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.
5 r% P5 v. X% g
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.
' c7 J& {" `3 N3 R1 N. ?) P$ }/ h9 R6 U5 ~9 a9 d1 C. S
|