Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
" } O" U; c# N3 i$ {& W8 P' _2 ^) a( s& k4 K" O
9 p5 z' N' i9 }& x' U
Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.
- X- k$ J. s6 W V0 u3 L 1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.; i* @: O6 k. Q# I! l4 ~+ }& Y1 D
Пример записи квеста в NewQuestData.xml: n' U! v7 @. H- [, O# s
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">! k' H. N' `% J5 t
- <locations>0 A: R1 D. P& \; i3 _4 p% R
- <param name="startLocationId">1015</param>
* `4 q4 O7 f" z* A - <param name="endLocationId">1002</param>
$ y% v0 H* h6 \+ z& g; Y - <param name="questLocationId">1020</param>
( A- \! H! u! d% V1 F1 C - </locations>
" N: l0 e3 \, Y( U0 \# U% k8 r - <conditions>/ R; \# M9 i- @1 `
- <param name="preQuestId">10019</param>0 R+ s, }4 A- z- t
- <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>4 J3 j; e5 ]8 p& O I( \% ^
- </conditions>5 E- r0 [$ ^6 {
- <rewards>
1 J; {, Z; U/ V' Y# h+ |4 j - <items>7 k1 Q# n4 i, ^- I2 {1 n
- <item id="57" count="240000" /> v* C+ ?4 `: q2 Q! ^( W
- </items>
' {2 d+ D' }: h2 \ - <param name="rewardLevel">76</param>
- ~8 F7 z& E) b2 s- k - <param name="rewardSp">84</param>- ^5 L* E2 J: x8 s, e8 o
- </rewards>
) ~5 X+ M1 \+ M, t& g0 y* q1 _4 I - <goals>
7 O3 I; S6 |% L$ x9 e - <param name="goalCount">30</param>) F: ]- r" p& }# Q8 t0 A. k
- <param name="goalString">Monsters on the Windy Hill</param>2 M$ \3 c3 H$ L6 ^$ z/ K6 g& ~9 e
- </goals>
1 {! G7 y! _/ ~9 P - </quest>
* j* Z/ m) _! @5 p$ `3 F
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:' z" |4 F8 m6 ^0 m+ x
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.
- S, k. N: ?* l P( N( f6 c 2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:
9 ]& g4 N$ g6 S% s2 s0 L5 F, v) M9 D2 R% P& z# P
- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.
/ C) x% ], r6 B. s1 S 2.3. Тег <conditions>Этот блок определяет условия для начала квеста:4 ^, |% H+ z# F$ t8 T
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.
2 ~( y$ K4 }) P. p- l" |6 n: L 2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:
' I* n2 Q) v# y/ p3 _4 U- <items> — внутренняя секция с наградами в виде предметов.8 o6 x2 Z" c% _6 q2 L4 D9 v( y+ d; ?
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.
; |$ G0 K; C" N8 \+ \0 M/ A( c- k
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.5 P- ` z! w4 `7 `# R2 S
2.5. Тег <goals>Этот блок определяет цели квеста:
$ N8 M, h/ P4 u! z2 m; r- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
1 z3 S' Q9 \: s5 a5 E8 B' I6 h3 R
3. Пример полного квеста
$ \4 q! m0 d' U+ D6 g
. x% T* d! a1 C! d1 j' y8 Q# mПредположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:7 P& M+ I# U$ s
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">9 H2 h0 U, u. t0 s. A
- <locations>. I% r; z2 t1 q$ r$ v) Z: x. g
- <param name="startLocationId">1015</param>
# n3 z( h9 ~" h- B - <param name="endLocationId">1015</param>
4 o6 ?9 a% v0 l `( G2 e7 C* r1 @ - <param name="questLocationId">1020</param>
/ B% n" a$ ?! c# ` - </locations>& K, n, i# Z" ?' s y3 \3 j! M
- <conditions>. T/ g6 r* J3 h x- l4 S
- <param name="preQuestId">10099</param>& O0 d& e, X ]1 n# d; e
- <param name="classIds">1;2;3;4;5</param>6 A+ l! d$ o8 b$ E1 J
- </conditions>; T. h& d( N2 j2 ~
- <rewards>
& l" c0 X: s5 T1 ?" d# K2 S - <items>) U- L+ ?+ t0 X, }
- <item id="57" count="50000" />
" T" u* d% f) i6 A/ G - </items>
" i3 i, T% y5 X - <param name="rewardLevel">50</param>
, T4 A z% l9 x) o; W) J) T" {/ O - <param name="rewardSp">1000</param>6 |1 e6 e& ` E& i: b9 R" K
- </rewards>
+ @$ a+ F! l' R6 u4 k$ f$ c( [, I - <goals>
" ?/ A* l- J4 v) d - <param name="goalCount">10</param>
9 Q* x7 D/ B% p" \0 }7 |! h - <param name="goalString">Demons in the cursed forest</param>
9 H$ t0 O: c6 b. o; U5 b - </goals>
% v/ A( _- j9 l- K& h# z" f- u - </quest>
9 g) h& D S/ d( ?. \; O
Скопировать код Здесь:
7 Q# g6 X8 \ [8 T: b1 o% k/ y- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
4 W* f% q) d9 S$ l. L
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.
( S0 O: A1 w f# B
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере." B. P, J* M2 ?' t" L$ V8 ~0 k
( G% d1 q v) j1 {
|