Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius0 ~: h( W3 L$ n1 V7 k
1 q* _4 M+ o6 K v4 j) Y- s4 o! r% O6 d; k; [. p
Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.4 F* a9 a3 C$ A9 R& M& p1 h0 M
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.: G2 b7 ~ b. k) j K
Пример записи квеста в NewQuestData.xml:6 ^7 ~9 h; p3 j+ y
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
3 S$ K2 a1 j& p# m% N4 o3 P - <locations>4 A( n, K# @- |+ S4 a ~1 B
- <param name="startLocationId">1015</param>
! F: L) ~9 B [ - <param name="endLocationId">1002</param>. Q2 Q; S e& S/ `3 \; T/ W8 B
- <param name="questLocationId">1020</param>
: a. {' a( Z; Z2 F- @ - </locations>
! n) ^9 y2 \8 }+ F+ h1 M - <conditions>
- v( Z6 H( e" h- e, C$ k$ n - <param name="preQuestId">10019</param>
4 ~" q- H# @* D) { ~; [$ z* \ - <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>& |( l; D- ^4 b8 P; ?% f
- </conditions>
- W* A/ O1 [7 u# Q; G - <rewards>" r# i. q5 \0 p. T
- <items>
4 o9 q5 _7 d9 d* t2 a/ M. ~ - <item id="57" count="240000" />
2 c7 k5 }9 `/ ~" E - </items>4 |' O" m3 S l) b# X0 N
- <param name="rewardLevel">76</param>7 h% x4 D7 s1 m( Z/ R9 v: E/ @1 P- U2 \
- <param name="rewardSp">84</param>+ W3 h4 P8 D' S
- </rewards># y$ K3 y M6 M }+ L% ~
- <goals>
) N( c* b7 T" o# y8 C8 R9 d, R - <param name="goalCount">30</param>$ v8 x+ L! d! u. z. K: Q5 W' e) t9 V4 s
- <param name="goalString">Monsters on the Windy Hill</param>
9 h1 l. n5 M/ t- I+ H - </goals>; B. ]6 x1 J1 i9 X' J4 v6 E s3 j
- </quest># f: j) w. @7 y8 w+ Q/ K Y% @
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:6 i, L' z- T @9 n' T) k
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.
# g* c. H, }, x1 B0 ~ 2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:/ z4 V8 V) M9 {( m0 e( g% U
; V$ t @5 K9 e; L3 \, Y+ l6 X4 Z- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.
7 a# K y. ^$ K- y$ p2 U* f7 _$ A 2.3. Тег <conditions>Этот блок определяет условия для начала квеста:
% ~3 Y3 n M* O0 ?- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест." c3 H& `- h- [0 R. D6 f0 G
2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:# f R" g/ o' `
- <items> — внутренняя секция с наградами в виде предметов.( u( K3 M) I0 M
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.
/ a/ r7 F. Z- n( t1 Y
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.
, N' K$ U7 r: S! c 2.5. Тег <goals>Этот блок определяет цели квеста:
/ Z0 p+ w+ V. l# Y$ y! e2 D* W- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).! F. L+ X8 d! c! l" b
3. Пример полного квеста% N# G! c# B6 l1 i
/ c$ l7 Y/ l" KПредположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:
& M' g7 R; z6 g& z- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
+ k' z% m5 P5 M* T - <locations>8 b* E2 M! H& z
- <param name="startLocationId">1015</param>
, j r; W0 J( z+ b - <param name="endLocationId">1015</param> B( t3 W3 ^$ H* W% ~/ \, T ~
- <param name="questLocationId">1020</param>
- [- C' z1 i9 i5 g - </locations>5 T( N* z% ]% a0 W; K+ o& g2 ~
- <conditions>
# t* I7 E1 Y0 ~- q, D - <param name="preQuestId">10099</param>! y- s1 J$ _: V+ Q2 A) [
- <param name="classIds">1;2;3;4;5</param>
8 C: C3 F; I. k! I% a/ ^. a! ` - </conditions>4 e1 N- P0 r( g8 ?+ _' v7 J' p4 j( ^
- <rewards>
- l% g* { [; D - <items>& h4 K( \7 M. |* O: H. s( S" J I
- <item id="57" count="50000" />) l. m3 A6 C! j/ b/ u' F: ^1 H
- </items>1 g* k4 a; _, E- D1 d
- <param name="rewardLevel">50</param>8 ~: F7 O) T1 `! q4 B& q9 o
- <param name="rewardSp">1000</param>9 I% S6 T7 f3 {
- </rewards>
% |7 K R! r1 x. Z) l, }3 c - <goals># o& P. Y5 m' D6 P* j2 Z
- <param name="goalCount">10</param>, p& D2 r/ m( R! B6 d- m% q
- <param name="goalString">Demons in the cursed forest</param>
* z& Y2 s5 r! h$ i: O - </goals>* U% Z- N: M) x: N% z4 I. T
- </quest>
4 K* t0 Z( F/ k) f+ d. A9 S9 E
Скопировать код Здесь:
3 o+ t0 |' D9 [- V- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.* Y& m9 S6 f# Y8 k9 n
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.
& ~( k: N! {4 r
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.8 K6 @ L- T5 L+ s
& u, ]3 O% o$ U% C |