Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
4 o& w" y, \- g* Y0 N. Y, \6 h9 w$ I4 y) ]# ?
9 r# \$ Z& Q* X$ ~4 K8 a" O# l6 i
Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.' x; ?9 Q @& i9 F) h" c. a
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
+ J* [) _, T8 B: BПример записи квеста в NewQuestData.xml:! d& a) x; O- D7 e
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
& e: K8 w3 q1 x4 G4 X. C W" [ - <locations> C* o3 f. V$ ~: w0 @5 S
- <param name="startLocationId">1015</param>
, q' g8 f- S8 e# z - <param name="endLocationId">1002</param>
2 f& R9 U' B. K& `$ y - <param name="questLocationId">1020</param># e# g% O4 S: j9 x+ e: f
- </locations>
9 w7 R! N" G0 j. g& e3 C* M - <conditions>" F5 q8 s' v2 c" f
- <param name="preQuestId">10019</param>2 P9 c3 x8 R; ?7 p0 p
- <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>- g: n/ @- y& q/ a9 m
- </conditions>
! H3 [2 U- |* |1 H, {) G - <rewards># L V4 H5 i$ p/ I
- <items>4 c0 G% Y' ^) C; ]
- <item id="57" count="240000" />
+ d7 f" d9 K6 m9 ?0 G Z - </items>" Y6 p; p+ i* e
- <param name="rewardLevel">76</param>
5 b- R7 o T8 J! [) z# X7 f5 K8 h - <param name="rewardSp">84</param>5 M9 b$ V* h1 V. O
- </rewards>
4 ?3 X2 V% D" c/ Z - <goals>" q$ H! i# Y, U* m! {2 B" m
- <param name="goalCount">30</param>
) r. C% \9 `% K8 ?* F- ` - <param name="goalString">Monsters on the Windy Hill</param>
+ I3 i/ ?, x$ _0 U - </goals>6 Q# U$ z+ Q: ?7 s. n9 {. k9 ?% ]
- </quest>8 j! L* y9 e4 c; Q3 B
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:$ ]5 C4 x3 q& l7 E) L6 d
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.* n. A, w. ]; b- ]( c
2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:% B) J) B% ^' }2 e
- U" X0 ~# ?; J$ G6 `
- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.
! K. y6 \ C; @1 v) s) p7 U 2.3. Тег <conditions>Этот блок определяет условия для начала квеста:
$ V4 ?- K* x J- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.- `" I6 k: N& t+ V: g' e
2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:& v a( f- s. ]6 a' `8 b
- <items> — внутренняя секция с наградами в виде предметов.. G n0 O. s6 J" N$ _
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.1 z" y( m6 Z% ~6 q1 t
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.; G" M1 u0 O' U1 }, r
2.5. Тег <goals>Этот блок определяет цели квеста:
0 a$ ]4 g* d% z+ D- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).& a9 A1 R3 d5 y1 `. O
3. Пример полного квеста
- w6 l# }7 T; e. \/ N+ Z. W# C5 O7 P! V- E0 e
Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:
: Y; y! r5 V% @/ ?- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">2 E% F8 ~8 j, c6 j" S9 v- ~
- <locations> H6 x0 A3 |& b: Q* T {. C
- <param name="startLocationId">1015</param>
9 O- b7 W1 d0 b/ ^% J6 { - <param name="endLocationId">1015</param>
- y1 e* r# l" V; n, r6 s p+ | - <param name="questLocationId">1020</param>& r7 d! t, D, {4 h, Z( l
- </locations>
7 ]2 g8 `2 t# E `/ V: u - <conditions>
: B7 F8 e% y% p - <param name="preQuestId">10099</param>
# \' B* t9 d" f7 n" b. d - <param name="classIds">1;2;3;4;5</param>
, P" l4 m; C ?+ a" U - </conditions>
$ x- c: j% |9 u. Y - <rewards>+ @ g1 m9 b% B2 E' y
- <items>
8 e' c. W3 ?% @9 C9 c3 V2 f: X - <item id="57" count="50000" />
: R, K% z/ Z* c4 x* D - </items>
d! ~0 J3 ^7 v' `$ `' y4 @ - <param name="rewardLevel">50</param>7 y1 I1 w. P; m! L6 i6 U. D
- <param name="rewardSp">1000</param>4 K! E8 j( [9 Y: L A
- </rewards>
& T- R( m& n* p3 r - <goals>" c9 A0 Q+ H2 X4 C! U: E
- <param name="goalCount">10</param>
$ o: k$ D! Q# |+ I! g! ^& m - <param name="goalString">Demons in the cursed forest</param>$ f0 t/ A) h5 f( G" R% m7 ]7 N/ l
- </goals>7 q& ?8 f) Q5 ?9 r, x
- </quest>
. U5 g1 i! u( d& @
Скопировать код Здесь:
4 h+ e3 w2 t& Z0 R$ s5 b- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.6 ^$ t: Q% t+ T0 N
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно., w" Y6 ~% {2 t5 S& C
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере. y5 r* H9 k( W0 V( k: {: A
$ X2 a9 k! K+ x. ]( h* u
|