Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius; n1 B+ g7 I2 Z5 L
4 H; k6 ?( y- ~+ ]: a* K
5 h. l: S+ w* ? a2 l. j1 s
Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.( M3 g% e1 m: A9 Q0 U5 b q" Y$ r
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.$ ?% `+ c/ ]# s+ @+ q
Пример записи квеста в NewQuestData.xml:
0 P8 J! }$ G5 s) C c* [) t- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
# p1 i( a+ d" F - <locations>
& ]( z" l2 o [$ z" H' Q! o2 C. l - <param name="startLocationId">1015</param>
6 Q' X$ V3 E: @6 T7 g - <param name="endLocationId">1002</param>
- d" j8 Z, Q, Z, I& k5 o - <param name="questLocationId">1020</param>/ `. T" d* K+ o9 a. @
- </locations>: X' M0 W4 S) G% O' y
- <conditions>7 X1 p# P! ^, L! q h0 x& j. F# ?
- <param name="preQuestId">10019</param>
$ O% _9 m: n. ^7 T8 D - <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; }0 f0 o4 |# d - </conditions>9 ^' z% G' p6 f3 E9 F2 b% M
- <rewards>3 B7 {5 B! g/ A* P Q' A
- <items>
( a' P/ [: L+ a) r - <item id="57" count="240000" />" Q% W$ W3 k/ v
- </items>% g- z* h, y% h/ w( f5 z) Q* L
- <param name="rewardLevel">76</param>, B& s- ~/ d$ C/ t/ m) w5 l) b
- <param name="rewardSp">84</param>; z8 R# Y. p/ l3 @
- </rewards>
( G) Q. @& X7 z1 A3 ~# ` - <goals>
9 O) g7 `' | x4 K3 ]6 \& R - <param name="goalCount">30</param>
: `6 r& \/ v% m3 ]1 P1 A3 `4 v - <param name="goalString">Monsters on the Windy Hill</param>8 E9 R. M! f. X: b/ [
- </goals>. f9 }6 t( Y% o& ~
- </quest>) l$ y& v# e/ i7 W2 d# d! S
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:
9 w# j5 x9 J, l9 a- Z- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.6 G! }+ p% T$ U C7 t
2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:% V& ?1 n0 _7 f3 f u& B
' y+ ]6 S' P- u5 M4 P! d
- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.
, G" E" M) @0 R; a, o; W3 o 2.3. Тег <conditions>Этот блок определяет условия для начала квеста:. Z0 [* U+ ?" D/ g& }8 S$ m+ O% ~3 P
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.
/ M9 l" O3 d4 m3 G, j- [0 N 2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:* Q# i0 E, n- W
- <items> — внутренняя секция с наградами в виде предметов.
) p2 @- {7 x, {# \) v) z2 h( `9 |0 f- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.6 d2 e& M* j3 S* [1 i! j# {
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.4 v0 K* V! E/ H" z6 x
2.5. Тег <goals>Этот блок определяет цели квеста:
: h; Q0 d6 w' @6 t, _ F, u- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
) O" `* [/ Z& I Y3 w
3. Пример полного квеста
% [) s% u6 _+ |( R/ p4 A1 J6 U! V1 Y3 e" m B* m# r, {" ~: a
Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:4 D, r S$ B) x% S
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
, \# x* K1 Q( V+ Y+ o - <locations>
. R) _# p/ {9 @& C, P: ~2 @ - <param name="startLocationId">1015</param>0 r2 G; y+ b, T# X* K! i
- <param name="endLocationId">1015</param>
3 T! A% \6 N, I3 W$ Q: l7 G - <param name="questLocationId">1020</param>
9 _, L) I V6 |- m) w& _ - </locations>
) [6 L3 a3 S1 _! A+ W( F8 t - <conditions>3 c7 w; V, l+ n, H
- <param name="preQuestId">10099</param>
+ y% e9 A3 l& `4 K - <param name="classIds">1;2;3;4;5</param>
8 k( a, f! i6 J) t# S0 z - </conditions># G. X+ w8 A" q) T" S# z( R
- <rewards>
& D' Z( Z% i$ V% `( w: Q# ^ - <items>/ ?2 C# q) s$ ^9 z! Q
- <item id="57" count="50000" />5 @3 k9 r) E. `" P+ w( z. f
- </items>
3 K% i; I4 b( G2 L4 S, S; i$ u - <param name="rewardLevel">50</param>
5 N9 u( v( C+ @5 Z: Q- K - <param name="rewardSp">1000</param>
3 n( x6 {6 b% g) |+ { - </rewards>& n* ^" ~ E# R1 r) U
- <goals>
- X: w" ?/ I! M8 j - <param name="goalCount">10</param>, O% U* P S; [4 `9 d
- <param name="goalString">Demons in the cursed forest</param>
) H5 W; L6 V8 n2 Y; y) |& V- L2 |1 Q - </goals>: @* E$ S! @2 C& A; v; N# I/ r! Z I
- </quest>
5 n$ t) S/ J, g
Скопировать код Здесь:
3 W+ s* Y0 ~ e/ h7 i$ r- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
# l. x* f3 u; g2 W! Y4 t7 g
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.. [+ i$ r' U% Y/ _
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.
, I, y7 C6 S) Y s; Z2 A; Z( z$ T
" F3 q% q2 Q, G5 U% G6 H |