Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
1 Z9 [1 [: y) G( c: h
5 ^3 U9 x' T) _& [# [" D- B8 w
, h+ a! }# \+ q6 [0 n; b4 dФайл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере." {3 r2 w# n. Y$ b- t
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.$ [: K% g& `1 B8 _2 l" V/ g. u
Пример записи квеста в NewQuestData.xml:. s3 }' V% x2 G
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
: O5 S& y- ?( j( n3 f# R/ W - <locations>) T4 u, ^3 m! ^6 O. f6 ~
- <param name="startLocationId">1015</param>
5 ^! [2 b( G# ]- x7 l% S - <param name="endLocationId">1002</param>
4 G& ?1 V% M& `6 ] - <param name="questLocationId">1020</param>6 j# B% _3 Q( M" \4 ?. B
- </locations>8 u H# B1 x7 ~" b; Q
- <conditions>
# S. k+ x( A, g5 Y" s3 h7 a - <param name="preQuestId">10019</param>- v9 o3 l) N0 b# u2 K. I7 H! y
- <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>% Q: J4 f' T4 K8 s A
- </conditions>
0 j, M1 e q3 T2 m& \7 t - <rewards>/ K' K" m% ^- J) X
- <items>
. R. k5 S$ A# F( K' ?# w9 u+ O - <item id="57" count="240000" />. t3 R0 x0 R, R) ]' q
- </items>
' N- ^0 e3 B0 y0 Q+ `9 Q3 S C - <param name="rewardLevel">76</param>; P i2 m7 }" v3 c
- <param name="rewardSp">84</param>3 P9 y/ H9 ~# Q* J& e5 g- g- U. F
- </rewards>
7 M2 c$ ]) N$ R, [# | - <goals>9 _ t W; \; _0 H5 @% G4 m: z) p d5 `
- <param name="goalCount">30</param>6 z- Q: ?' w! C* N! h
- <param name="goalString">Monsters on the Windy Hill</param>
0 e0 k4 u0 a' @4 Z - </goals>" L- E/ `' `- H" y; I
- </quest>& e! D ?5 D3 y
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:+ C6 s: v3 I+ n% n- J# M! B9 g
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.
9 n* J% |, y. o1 Y4 t 2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:" A2 x N$ L- _; e3 A5 i( G
& J0 w7 G3 D8 \" B5 _* k& @9 V
- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.
* L0 C+ L: Z$ r) O8 J 2.3. Тег <conditions>Этот блок определяет условия для начала квеста:$ i$ z' }* m1 V I3 ~
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.
" ^" x8 V9 r, `$ k8 h+ u 2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:$ M, e7 l+ T/ U9 \! N& ~( h4 C
- <items> — внутренняя секция с наградами в виде предметов.
* {; S- B. F7 w8 ]& g, f- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.% j2 x1 b" x2 E* w# S
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.5 G7 F1 G0 o. h' ^% V/ w
2.5. Тег <goals>Этот блок определяет цели квеста:' }: \4 b2 ]* Y% h1 z
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).) j) g# g2 R2 ~- D$ Q
3. Пример полного квеста
7 s+ T1 Q5 U' |. I
/ t9 I5 l) z, P. e5 gПредположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:( o- G" w' @3 L+ n# y+ A
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
( m! b9 x% z# K, W. f - <locations>! J3 E; a$ ^8 d7 B! o" S
- <param name="startLocationId">1015</param>
7 q/ x! D5 O; `0 }) t1 m. n# h - <param name="endLocationId">1015</param>
" |4 _; L% j7 ^+ f; ` - <param name="questLocationId">1020</param>2 s. g: v* v2 ^3 R! z8 i
- </locations>+ ]4 A2 T" {( U" l) B( J& S
- <conditions>: e6 | D3 R( e0 T
- <param name="preQuestId">10099</param>' v/ w$ x2 q2 k: H& ~
- <param name="classIds">1;2;3;4;5</param>
, R8 Z+ S) Z- ]6 L$ b - </conditions>" T7 P+ h# G; v- J
- <rewards>! [& `) w# z9 L4 n
- <items>6 y& H+ P! o }* ~: M1 m D6 h
- <item id="57" count="50000" />% p$ w( B4 `+ m# r
- </items>; {$ S# O" c& R6 o2 |4 r7 ~
- <param name="rewardLevel">50</param>
0 o, C; Q1 M% v - <param name="rewardSp">1000</param>5 b# F# D; D& w( Y$ u( _
- </rewards>6 ]1 o+ V5 j+ n" B$ H
- <goals>* M" r" j2 C3 o4 e, p5 \9 A3 ? F
- <param name="goalCount">10</param>
% r* t" K. N, T3 c X/ V - <param name="goalString">Demons in the cursed forest</param>
" ] `- Y4 D7 _. N' q: ? - </goals>! O, ~5 y0 l. z, b, h( P
- </quest>
5 `7 Y: h# h( q( t6 _
Скопировать код Здесь:" U. c0 g/ \ [. {. c- `
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP." c2 q' R- w+ O1 U* U
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.
( Y% V+ [5 v9 H4 [- q; j% H2 \
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.1 B9 Q& | R; v# g0 n5 T$ E+ R
1 O. ~! ~$ P r4 ~1 H6 T |