Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius3 S% i( L+ q( W; v. O* z# z
$ P; ]- Y( _ ~7 `( A
; _" ^- H3 ]* {0 u3 O# `- ?# D) X0 vФайл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.
$ W2 l: V) v4 T( _- U9 p( v0 t 1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
, n N1 w' w/ v7 J7 z5 \: _ TПример записи квеста в NewQuestData.xml:6 d; V8 a z O
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">: x/ o) f) P# p) g1 R& k5 Z) [
- <locations>
, }% d, ?5 \2 o. O* X9 v1 L - <param name="startLocationId">1015</param>
" s w# M$ w9 |5 Z- t3 p' K H - <param name="endLocationId">1002</param>; B5 W# K1 Q7 k( c+ i; k
- <param name="questLocationId">1020</param>
0 L3 U- H5 A( w5 L: E - </locations>
* L: U, Z+ _9 e6 t1 C* s - <conditions>
+ [7 S6 Y5 Z8 j, Q h - <param name="preQuestId">10019</param>
. g$ A; f, U1 I; l9 L) x - <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>
" n+ M. {% m8 E" c3 ` - </conditions>
5 b6 X% \) w' ] - <rewards>
- j7 S4 K d& x! I4 o; W( q; D - <items>- z% O- q. S" v f9 h; ^
- <item id="57" count="240000" />+ A1 U# V& W' v% z/ q% P
- </items>0 E* I/ y0 ^4 K6 I. i
- <param name="rewardLevel">76</param>
' u1 G' Q, Y: X0 C+ p. R% x( m* C; ~ - <param name="rewardSp">84</param>3 ]- a6 W0 o* d: Y" B. ^
- </rewards>
P. L- \! W* h- n - <goals>6 d9 c4 D7 M$ m3 @
- <param name="goalCount">30</param>
: Y9 i# Q( c; A) Y) Z# I3 l, `8 N - <param name="goalString">Monsters on the Windy Hill</param> Y- k! z* B* @; Y) V) ^
- </goals>
/ a' z6 }) O$ {5 _7 E - </quest>
$ G) f, j& h: b! f* [+ X1 s/ [. r; Q
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:8 _% y8 a9 g( z# p: h0 x
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.! F7 Y- d2 l/ Z6 d) ?! I' i1 n
2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:4 ?5 z* {1 U2 j0 q4 D
' r9 f$ P* J- i6 k' t$ t
- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.* F, m e0 d& h5 _! W
2.3. Тег <conditions>Этот блок определяет условия для начала квеста:
: x& U2 e/ `/ A9 q2 D8 {; L- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.
# s5 \0 J; }% s9 h# J 2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:
2 @5 E$ i" [1 r) @; E3 V0 @( V- <items> — внутренняя секция с наградами в виде предметов.
. H o6 x# S2 X- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.1 `# S/ k8 L1 k( X
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.
- X- L. O& X# W 2.5. Тег <goals>Этот блок определяет цели квеста:! ?$ w! t4 U2 F, j( @2 f: P
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).0 H4 {4 A4 k5 t, `8 H. q: r
3. Пример полного квеста
% v/ q1 [- h6 | Z# T1 A0 w: E+ u3 e9 s4 C& ]* U
Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:
( D, v/ f3 ^, D! l- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">6 I; t8 s6 S$ W
- <locations>
( I/ v7 O/ M5 [, D. n7 L - <param name="startLocationId">1015</param>
" p _5 {# Z' ^! R. y - <param name="endLocationId">1015</param>' K+ m7 N4 b$ p, d" F; T% |" a
- <param name="questLocationId">1020</param>
8 \& ^! d K. P5 _: b( @" w- r* g - </locations>
! K" b Y( |: |. G: Z# x( u - <conditions>& Y6 c) i) R2 m( j; s1 E: K
- <param name="preQuestId">10099</param>, j+ h( V$ g" R) r/ q
- <param name="classIds">1;2;3;4;5</param>" H; K c! f' A- \. u' i( R
- </conditions>
4 o2 X2 p+ E" |. p# b( \ - <rewards>1 P, L. D2 v/ }6 w$ M$ X* ?3 W
- <items>
% v4 F3 |' T, W7 }: t( N) l2 l" q - <item id="57" count="50000" />; M$ C) W9 ^3 w/ ]7 k) |" J
- </items>
% Q0 f0 H( N) X$ t) w# ~ - <param name="rewardLevel">50</param>
+ z% G- ~* @$ N# z ?/ g - <param name="rewardSp">1000</param>
2 d X. c6 [/ o+ ^7 E/ o; i$ r - </rewards>
* j, `4 z5 z: E" J9 | - <goals>
6 D! ~1 ]1 z, {! H; \ - <param name="goalCount">10</param>1 O% \. z( {' ?2 \+ |+ C
- <param name="goalString">Demons in the cursed forest</param>
3 v% ?# x1 N1 ^8 Q& B - </goals>7 t$ O. S+ P# X$ y
- </quest>2 m% |$ X0 E) y6 o% e8 L$ _
Скопировать код Здесь:. |$ F. w$ o' Y
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.0 X9 o! G- V0 D6 v. e4 t+ X0 t, n0 R/ X
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.: Z# e( ~/ E+ G) i5 j. u2 V
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.
% y; n+ T7 r' D* p# d
5 A( N! D% J' v* D% N. \ |