Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
2 \& J( B& ?2 o* e! ~$ |) H; `1 m* L6 P8 F
" e- v$ \4 F7 M H! ^Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.- Q: H1 {. ~4 ~& A
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
! i9 n/ l9 L+ Z2 [2 h; K! Q/ nПример записи квеста в NewQuestData.xml:
+ x7 q& I2 o0 T- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">" A8 d, C5 T$ h# L& d% A+ ~
- <locations>) z) E7 L) C( Y( @! _9 {2 h) G8 x+ S
- <param name="startLocationId">1015</param>
3 V. o& H. ^3 `2 K3 c7 O+ Q0 P - <param name="endLocationId">1002</param>$ ?- Z' {+ A w |, c: B2 X0 z
- <param name="questLocationId">1020</param>' `% E5 [; ^* [: K/ Z" B
- </locations>% D9 G0 M+ G4 `/ A7 O/ M$ t2 {! K
- <conditions>
! B% w- E: U8 T! O2 w; Y - <param name="preQuestId">10019</param>, v4 Q9 z) O2 h3 ?
- <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>
0 m, B5 q6 N6 E0 L4 F1 [" y5 @ - </conditions>
; A" J) w* z" [, J& M e7 C' \ - <rewards>. T2 ~" e* Z, I. I
- <items># E& E' O5 Y2 d( p
- <item id="57" count="240000" /> g# X) r! W5 |5 R6 i& i- u$ p
- </items>
}. Q* C' z, k6 a5 K7 r, M - <param name="rewardLevel">76</param>6 i5 I* ~: r- k' S; J3 f' i
- <param name="rewardSp">84</param>8 G/ n7 ~: u+ Q' N1 U
- </rewards>
* m0 ]3 h! O, T. V; L; J - <goals>
( V2 E6 u- d/ i7 I7 o! o# }. ]5 K - <param name="goalCount">30</param>
3 r. [) {5 r2 [$ I2 H - <param name="goalString">Monsters on the Windy Hill</param>
& y e5 d! ^) A - </goals>, u8 \4 V$ W& Z) f- O- a) ^
- </quest>+ O3 q& t* ?) s% ]( O7 a
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:+ J! i- W5 ^' J6 r0 z% `1 x# f" T
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.5 h, P5 y: k9 u* i
2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:
2 x% \# ]9 f4 D4 N0 h$ S
9 t Y0 w1 ?6 r- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.
" Z( u* T3 x) V* ?. ?6 T9 P 2.3. Тег <conditions>Этот блок определяет условия для начала квеста:
" ~$ U9 W/ k, j) E1 Y$ Q- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.
8 J6 P1 T* H/ l( O3 x. e 2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:
) v* V1 r+ n* m1 _# o) x7 p$ E- e/ H- <items> — внутренняя секция с наградами в виде предметов.
+ i& @% D, w+ q1 l- ^7 m0 i6 L- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.
6 k+ n$ o2 \( q0 M
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.1 x3 \$ u1 i9 A( A" c& k, W
2.5. Тег <goals>Этот блок определяет цели квеста:. D. B: f/ o1 l6 [( @# H
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
0 h. @: F( q! u: P
3. Пример полного квеста# h& l. v2 |4 O( ?$ `+ I6 u' \* d
# x- l4 |) ~9 A1 ?% i- qПредположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:
2 V |1 A+ s( m- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">+ z- ~4 g, ~7 N& x6 W; r! s# j
- <locations>3 w( P9 ]2 _: d2 U* V0 J+ ?: U7 q
- <param name="startLocationId">1015</param>
7 | e7 B& I% Q$ G0 d+ I - <param name="endLocationId">1015</param>* O4 l8 N7 o D& n9 m1 z% M
- <param name="questLocationId">1020</param>
) B$ z) m; d) F4 E$ D& r2 S - </locations>
5 l" R4 n- l4 H" f! f) O4 i - <conditions># {6 L: c7 ^" Q6 E8 D7 [2 T
- <param name="preQuestId">10099</param>9 K! T0 }% ]# n
- <param name="classIds">1;2;3;4;5</param>9 E# X/ U1 I- t% ~- j2 z* x3 i/ E! Q
- </conditions>
2 p: G. t* v9 Z - <rewards>
$ r' f. l& T! q5 t; N - <items>3 t* H1 U' F- m h3 R4 J+ E2 D
- <item id="57" count="50000" />
5 o" D: p5 M* z) m) x - </items>3 r/ a( K/ N1 U$ ?
- <param name="rewardLevel">50</param>
2 s- S" G' q# s- `% k - <param name="rewardSp">1000</param>
5 Q6 q! k1 u; R0 x) { - </rewards>
0 t! {& c! `" w' }3 d- a7 U6 J - <goals>
4 [( U) c- M$ m/ W* N, P - <param name="goalCount">10</param>
) a9 {! ]" v Z0 J& i* P - <param name="goalString">Demons in the cursed forest</param> A6 ?( r' ?. \9 F% X7 \% }1 p3 Q
- </goals>+ M4 Z4 B& m& g. H6 ~5 m9 i
- </quest>
' e- `% y/ T8 C! p; Q
Скопировать код Здесь:6 i/ y: z% ~8 X& R# O1 v- k
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP." {2 y5 r* G- u* O
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно." _6 f C P) X9 Q
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.
0 T/ t7 K& `7 @6 o2 W7 {( W, {; N& S" S. d( f/ I$ z' H
|