Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
% g1 C( }" V* H* q2 w3 \/ C" f. l# z I2 H! P8 m' N) l
4 W- A3 _4 [. p3 r0 g8 U, J, TФайл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.
2 [/ A4 }/ J6 ^- Q% I$ f7 d: h7 J 1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.0 o6 u$ G/ |, T1 x
Пример записи квеста в NewQuestData.xml:
, L4 H. t; e( {& A7 z# a9 J- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">6 k( b" G3 O5 w$ | `1 K# ]' ]; ~& }
- <locations>& k) U8 B; m/ |0 G9 X- Q' j
- <param name="startLocationId">1015</param>
; x* E8 {) B2 J - <param name="endLocationId">1002</param># e6 T0 [: G; K& F. ]' \) L
- <param name="questLocationId">1020</param>' m, X! ]) C$ n7 s/ R
- </locations>$ P* o' F2 a+ F) M* a# W
- <conditions>' R- [* d) v4 E+ w
- <param name="preQuestId">10019</param>7 G: Y* P* @ A) N" g7 j2 j
- <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>- X; n% @0 |1 y3 X4 s+ |
- </conditions>- y) z8 X& p( D) x
- <rewards>3 r1 D3 o) M& z. C
- <items>
9 m# H8 C1 q+ L! D" R5 \ - <item id="57" count="240000" />
6 K7 F$ O0 f( o0 ?3 r - </items>) e2 O8 P7 U: A' p: H' s F* M) P+ t
- <param name="rewardLevel">76</param>
# u7 L4 B: g! B$ B+ w - <param name="rewardSp">84</param>
& m% u/ j7 Q1 Y/ _0 `8 ?' l$ ] - </rewards>* l7 i) f. S5 ]. H, h9 y5 f
- <goals>% X3 R. i( H7 x0 n3 [9 M' K" h
- <param name="goalCount">30</param>4 |# I5 I8 ^5 G' V5 O
- <param name="goalString">Monsters on the Windy Hill</param>
2 y9 ~$ F$ Z) ]5 T1 _ - </goals>
9 i& l. s3 L O7 O. M" @# \ - </quest>4 Q* N `0 {& q6 |! ^
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:
, B, D6 P0 l4 N0 x6 r5 _; |- g- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.6 I z: I/ L3 p: e& V0 z; U0 j
2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:3 F2 U, G; M4 n) u( l1 o
7 ]3 w2 I. U G' p5 S; k
- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.- \/ G6 d# B/ f
2.3. Тег <conditions>Этот блок определяет условия для начала квеста:
% j$ A' v, b1 ~+ l- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.
0 w; X$ r7 [( T9 z! u! h, q- h& U 2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:( A9 o6 Z. a# l' \$ c2 {7 r
- <items> — внутренняя секция с наградами в виде предметов.
/ w0 V% [2 A1 C; j( v! _; e* S- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.8 k, r0 V) R$ \9 ?3 P {
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.
, a/ {6 A1 A1 R" i0 g/ J 2.5. Тег <goals>Этот блок определяет цели квеста:0 \* ]* \6 n/ z6 t; m$ W
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
5 b+ `1 j$ F4 d+ S7 U% q# ]$ I& I
3. Пример полного квеста
( J' i" H& T' J. t; j3 O+ r5 P! r! r G
Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:. a$ J. F. {$ h7 ^* i
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
" L0 N# j& c" I; L: N. u$ T G - <locations>
( D! g4 y. L2 I% e6 l" t0 U* A - <param name="startLocationId">1015</param># i7 F& _7 `* k9 d1 E
- <param name="endLocationId">1015</param>
' Z/ o' K" {+ A2 x X1 l$ L J - <param name="questLocationId">1020</param>
. E/ z) ~5 H3 L0 @ } - </locations>+ n5 f1 k9 B5 @: R, r
- <conditions>
$ j& N0 y v; P z( S - <param name="preQuestId">10099</param>1 T( z5 S7 Y: y, Y3 q1 p9 T; B
- <param name="classIds">1;2;3;4;5</param>
5 [/ v& ^, D: ~2 J - </conditions>1 r$ c7 X9 _1 R7 U! ^: [" _
- <rewards>
) ~/ i R2 D3 D" \) O3 F) A - <items>
" v+ l, G$ P( S' T2 N - <item id="57" count="50000" />
% G5 M5 N$ [) g" Y7 r7 s - </items>
/ _# }. h1 V, p/ n0 Q7 {2 t0 }- b - <param name="rewardLevel">50</param>, Y1 Q. R; @5 d& d6 h
- <param name="rewardSp">1000</param>
' P5 e- G1 Y' K1 V9 F - </rewards>
1 [" _) Z+ o$ D6 `% z l. K - <goals>. V; g7 I* B" @1 `0 L1 w- {- H
- <param name="goalCount">10</param># ^. z; N' Z' {6 m f- Y4 c
- <param name="goalString">Demons in the cursed forest</param>
: G% |& Z! q; c8 X, }4 G K( W - </goals>
5 q; \5 r- }. u/ i) ]$ z1 Y7 T - </quest>. }+ V6 z+ c+ e0 O) |: \
Скопировать код Здесь:* v' b9 Q/ f |, K
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.& l) f C4 K. H6 ~- N
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.. p1 q( z$ j3 `( {0 c( v6 K7 v
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.
5 E+ p1 Y ]' H0 y
1 S" o+ r( G g- Y |