Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius0 f! S0 o0 ]; i
- Q9 @# H) v+ O' [) s3 @& B" |
% A! \8 ^& \$ S! V0 w3 j9 K$ t1 o
Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.
; X2 P) ^5 F; @6 D! p) } 1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.& o; g& y# p1 O% F |
Пример записи квеста в NewQuestData.xml:
4 X m+ A/ y( L& Z. f- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">' n7 L9 Z' p$ _$ c( Q& Z2 A7 q
- <locations>
, L; \) Y7 ]& ~ H( W3 u# ~. O - <param name="startLocationId">1015</param>9 e6 H% P2 { M( }# ]
- <param name="endLocationId">1002</param>& C, @6 b4 d- V
- <param name="questLocationId">1020</param>) |4 G" o4 l8 Q* }7 s, v
- </locations>
; j1 e# F3 j A; ~4 O% Q - <conditions>. x, T$ `! ]: m+ U& O( o
- <param name="preQuestId">10019</param>
- i4 d1 d, j9 N7 H - <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>
+ m' ?' X) F% A' T - </conditions>: f; p w, U: E7 V. X* z2 g
- <rewards># Y1 X0 |/ G5 N) E; r
- <items>% p% \" I$ z' g+ w& F& _
- <item id="57" count="240000" />7 a. u b) F; b* v+ ~
- </items>3 [! h( Y* d0 v0 E9 C) B" l" G
- <param name="rewardLevel">76</param>. b, C* n9 q3 U) L3 ?
- <param name="rewardSp">84</param>
" R9 R0 d/ i" t' r7 G - </rewards>8 y8 }. d. a( J7 G9 J2 J! t
- <goals>
1 c: E8 ]: b7 J2 V3 n# b - <param name="goalCount">30</param>
( C! p& L2 [% N7 z9 s& b. S - <param name="goalString">Monsters on the Windy Hill</param>0 B* X: d- k. a1 [
- </goals>
& G6 Z" C8 Q5 S - </quest>3 u) N) l8 T* ~& u- L
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:
4 |, K4 v* Q, k2 r9 o0 C/ W* c- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.+ {; o( R, V+ ~, u1 S
2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:" N+ G# ?+ r _+ O
`2 X! q3 }# Y5 h* T0 w) z4 D
- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.+ I1 s) b) \$ V* }/ v: U/ `
2.3. Тег <conditions>Этот блок определяет условия для начала квеста:
; |8 ?1 v' x9 y( d- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.7 Q$ W- @( b. N% j+ _8 B
2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:
3 p5 P& {4 o, c! i/ b3 ~- <items> — внутренняя секция с наградами в виде предметов.
* L* w& m$ W% s: ]- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.
/ X6 q+ s7 x" D% L
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.
2 @: z; |& d i" |/ L 2.5. Тег <goals>Этот блок определяет цели квеста:
, z6 b! F6 i6 [' n0 T% D- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
4 V1 A* y v9 }
3. Пример полного квеста& g% A+ w+ {( }4 o$ a/ q( r) E8 o
4 j7 Z1 m; k% E# E# _+ J' h
Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:1 g% q/ D6 u; ]% [, L0 _" I/ ]
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">, k; f! ~. y% ?" k) a3 [
- <locations>
s# x! X& [) `- L - <param name="startLocationId">1015</param>( Y# ]" \4 ?2 t
- <param name="endLocationId">1015</param>
7 ?5 {. m% S/ G* F - <param name="questLocationId">1020</param>0 y) i+ c7 D" L( `( b
- </locations>
4 ]! y1 P" ~, B" o( Q& W( w |! s - <conditions>
7 h% G# a6 P0 _+ @% n- j7 f5 X5 F. ? - <param name="preQuestId">10099</param>! t, |2 [6 Y8 O
- <param name="classIds">1;2;3;4;5</param>) u& @: t1 }( d* P
- </conditions>- r7 D! I4 b% |+ y) z3 }
- <rewards>
2 P9 E0 i9 S c- E$ j - <items> u% h" F. F' U+ z' ]; C
- <item id="57" count="50000" />, T) Q9 D0 y1 w" E2 T- t
- </items>" e5 o, P& w; l' q* X5 |, m
- <param name="rewardLevel">50</param>
# C$ W: b u6 V) C, E - <param name="rewardSp">1000</param>
3 B+ G7 q0 L$ S! O2 i- d# P) r - </rewards>9 B2 S+ W4 ^: S4 V
- <goals>
+ Y2 b* o' ?9 j - <param name="goalCount">10</param>
+ `( @- I9 Z% C - <param name="goalString">Demons in the cursed forest</param>- F; B, U1 w4 Q8 T; d+ Y8 O$ H6 p
- </goals>
% L* N+ I( A- M% z3 g; o; S - </quest>4 ^* r' m0 C" h
Скопировать код Здесь:
; ~- C) s8 y. y9 t* S7 c- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
' U( z: n& g. B5 z3 h, f
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.& ^ b: t0 t' ?+ a( d
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере. b- y* r. \& ^/ s
4 t5 y+ A6 E, r0 U( c
|