Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
5 T) a8 K9 K3 }% a( ?) f& D- \- c: P6 N: ]1 l. N: f* v1 `8 Y* \
6 @1 G, @7 t; K) E, P+ s
Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере. `( |. O( [7 Q4 p
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
0 K5 r4 D) G5 s% D, \/ l6 X8 y6 K; ZПример записи квеста в NewQuestData.xml:9 f# M- @& o; ]. u( u
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
7 z* k& { ?( o - <locations>% P% L, u, w) [+ h9 @0 g5 _% {$ O5 G) f
- <param name="startLocationId">1015</param>6 y5 ]% ?5 |2 E+ p
- <param name="endLocationId">1002</param>
7 C; G* G$ |8 a1 @! N' o - <param name="questLocationId">1020</param>
l" F- E% r5 l: W. m - </locations>
% Q! j3 @; I9 @4 K# A - <conditions>; E3 M* w7 r6 c, D- y; {9 P, }# t
- <param name="preQuestId">10019</param>/ w! H) u* G) Q2 y2 l) Z/ q3 k( c0 X: k
- <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>
7 g% d) j) n R - </conditions>' A& A5 A0 f/ ?. W5 a
- <rewards># d: {% k6 Y+ @; g
- <items>
! r8 s2 v. U7 B5 k+ | - <item id="57" count="240000" />+ N4 `" N# d$ j6 \+ c! v, B
- </items>
' G/ ?3 |0 U( h0 p1 `4 u y5 M [ - <param name="rewardLevel">76</param>
$ z* { w5 @: }- g6 N - <param name="rewardSp">84</param>
S( @% R% k: h - </rewards>
6 h. V( v7 {8 N8 W- X& ?1 E: U - <goals>0 J0 [% h+ j/ a$ J3 B! l& e
- <param name="goalCount">30</param>
% e; Z1 ~0 v8 ]7 c( J2 d - <param name="goalString">Monsters on the Windy Hill</param>
6 n' P3 i4 E8 y4 ? y l2 W - </goals>
) e- L7 P9 e" k. }* E# | - </quest>
2 Q' t. n4 `. Z7 ?8 U0 q
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:
) t" Y$ ?% k* A: X' [& ^5 c- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.- D9 _% @9 H3 E: c! d
2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:
2 b4 }" u! F( n, f, D. W5 b' b/ }0 E u
- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.+ z# l/ t) Y! J/ `2 g
2.3. Тег <conditions>Этот блок определяет условия для начала квеста:( o! X' w+ ^2 o/ }
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.
9 K% N& A& u7 h1 ?$ S% i/ k 2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:
# [" m i. s$ m- X4 S- <items> — внутренняя секция с наградами в виде предметов.
, p& \6 `- I5 o7 C- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.
& d2 F/ e: {) H+ g9 s+ ]0 ]. g
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.
9 I* ~2 z/ S: j0 c; e 2.5. Тег <goals>Этот блок определяет цели квеста:
9 @4 [; z# `* r \0 d- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
! H# n5 Y( O! l7 O( G; u3 P
3. Пример полного квеста; L' y; V/ S9 k
9 L9 {5 }* [3 q% i, y! ~9 |
Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:
/ L" \8 ]% j5 B3 n, a6 ]- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
3 x% @8 P" F3 r; g - <locations>
' h- Z5 m6 p5 S7 i4 b# O% _5 @ - <param name="startLocationId">1015</param>
) S+ Q0 m' S0 v& v- @4 l+ `9 M. y. D - <param name="endLocationId">1015</param>/ Q9 ]+ P/ w6 ?7 [/ v7 y
- <param name="questLocationId">1020</param>3 _& \; i7 H5 n( n
- </locations>" M7 C9 M* Q" C! h3 K0 V) o
- <conditions>
! S& z. L+ P. g1 d0 r7 p& t - <param name="preQuestId">10099</param>- k" X9 z S# H" `! l. h
- <param name="classIds">1;2;3;4;5</param>* z2 z# @- O% S: q# m( v7 z' b
- </conditions>* q; ]% V, [3 N: q4 J% k( t
- <rewards>* b/ B$ L6 ?9 o9 M& s- K+ i4 k
- <items>
% ~. \2 Y+ p0 j( A - <item id="57" count="50000" />3 ~. e3 N$ w5 e# l& ?2 Y2 k7 \
- </items>
: I" p9 w. A S7 @; @% b7 g - <param name="rewardLevel">50</param># \. T0 W; P$ t
- <param name="rewardSp">1000</param>
% s) U: X# [0 T - </rewards>
! d" X2 P( w. h - <goals>* z" j ]0 f* J4 f F2 X% G7 e r6 @ U- K
- <param name="goalCount">10</param>" A# q e" U% s- w A1 v6 x0 Y
- <param name="goalString">Demons in the cursed forest</param>: m& u2 d8 C1 s2 {/ Q: I
- </goals>
9 U( D4 y! W: s' Q* y3 R7 [- z! W - </quest>! F: l0 c9 f( f# O
Скопировать код Здесь:
+ o; _. w) e. F7 l$ e; w- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
- p J$ {, |, c- _/ L7 R% _6 m1 |0 d+ ?
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.+ }9 c0 X) @( J8 j
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.
5 e; [* B6 E+ K) i9 w8 g. E4 f8 ]; H& b0 D: C. ?4 h. g
|