Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius. m' U2 Z2 r% n+ K9 H1 _, ~
% _ ^4 Q0 |# e: B
# u0 l( H: ? S1 E
Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере./ ?( P* D# m0 u4 N! {, O0 I
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
" X! l6 W$ W- G8 B$ uПример записи квеста в NewQuestData.xml:% W5 Z$ o4 c. k+ o
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
7 J- n; R' K3 I5 _/ G: V3 M - <locations>
8 ?! y& a5 K$ `; h: X& v - <param name="startLocationId">1015</param>0 }0 n/ t: z! S4 {1 [& k
- <param name="endLocationId">1002</param>
/ C. n" M5 v0 V - <param name="questLocationId">1020</param>
% m2 e. H: l! y, B! u - </locations>
5 E- E% K, l/ L - <conditions>2 o5 u3 p+ H7 ?
- <param name="preQuestId">10019</param>
! H- N( | }1 p5 ?! o - <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( ~5 N/ T8 J, O+ V6 P - </conditions>. z& M$ e+ r6 t( y$ ?: ^1 V4 Z
- <rewards>
8 H" K# z, E) y- t! u {% N8 j - <items>
' |" D9 F/ g G7 |# Q( u1 f& o2 Y+ z- c - <item id="57" count="240000" />
4 g7 r0 F0 u' r" V e: O - </items>
3 i# c! j8 j; f% F- T, _+ B8 L - <param name="rewardLevel">76</param>
/ g. G+ g, A H* f2 c* J - <param name="rewardSp">84</param>+ [0 J8 t& ?) Q
- </rewards>
+ Z* j& ~' ?2 t# |: G4 ^+ W1 r1 C& R$ \ - <goals>
9 m3 H+ D1 J) _3 i+ E - <param name="goalCount">30</param>
9 \7 w4 D& ?+ g4 Q1 y" W - <param name="goalString">Monsters on the Windy Hill</param>
5 o, N9 [5 [) J8 K- u - </goals>
- ?. p, A# z' d' w - </quest>
+ C( v0 F' Y" T) K
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:
# R7 J( }, z' X- N& ?# X- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.. I2 z0 P! ] R: G8 t% _
2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:
2 T$ U% @) Q# q9 a$ M- s J( S3 J" w' l4 B
- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.
# g( w' v) z: ^6 y3 r4 ] 2.3. Тег <conditions>Этот блок определяет условия для начала квеста:1 Y$ {; T: q% I0 P: N. {4 G
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.. \ [1 W# K1 |8 Z: C9 t/ O
2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:
* {" U8 b; @, _) V3 S. O- <items> — внутренняя секция с наградами в виде предметов.) w2 V( z- O0 U( N3 a q
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.4 S! [; c5 s: [6 d3 M
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.
5 s% e5 O/ `0 B7 A6 r9 L s 2.5. Тег <goals>Этот блок определяет цели квеста:/ i6 ^$ H; ^# }! c" {/ S
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
" Q- ]2 d G" ]2 l) h
3. Пример полного квеста: ?; `8 f6 i4 W" n& p
% Q- Y# p6 W: q/ O3 I( GПредположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:
* V# u+ V! T; Z- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
$ J+ E" P* X) _8 d( k - <locations>
1 Z6 ?( k4 C% h6 P; w! c' f# | - <param name="startLocationId">1015</param>
4 M$ r' O7 p- R0 \2 Q - <param name="endLocationId">1015</param>0 n6 O3 T7 d1 Z
- <param name="questLocationId">1020</param>
4 ^' Q3 T. c9 r4 f3 v - </locations>6 d8 J. V R6 j
- <conditions>1 k8 i. C3 l6 g3 Z. q# D+ z
- <param name="preQuestId">10099</param>
2 J7 z! P6 Y, K. P. _8 X - <param name="classIds">1;2;3;4;5</param>
) { J$ z% B2 p9 u3 P - </conditions>* E! g) |5 f, o. E* n2 C/ S, T
- <rewards>( i4 a0 L2 y# Q' V7 v
- <items>
- J4 U: X% v) p. y6 M6 X' w - <item id="57" count="50000" />- g2 {" A: ^7 ?- _
- </items>. ]0 z0 ~' d# T3 ^+ `
- <param name="rewardLevel">50</param>
* Q7 z3 v! i( E - <param name="rewardSp">1000</param> t) W# {0 D) u6 H- Q- o, Q
- </rewards>
' x/ K# a( Z; ~' G* ?0 w/ j - <goals>' W7 L7 i8 J6 b
- <param name="goalCount">10</param>
- a4 ]- t3 V( F' R6 l - <param name="goalString">Demons in the cursed forest</param>
% }% J1 ]* o5 v! P - </goals>1 a: e8 s* d# x# e$ i( ]' Q% X! w
- </quest>; f' b( a$ g3 C8 W- w
Скопировать код Здесь:# v9 d1 |$ p( M$ ?" o9 b( \7 u
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
5 i' J2 Z: V: R* k5 G, v
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.
5 j7 Y4 E w% P, e( A7 n
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.+ s' Y" j. ]4 [& X* S
% l# z6 x% ~* N7 d/ ?3 Y |